温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

php时间函数之strtotime

发布时间:2020-06-26 13:30:15 来源:网络 阅读:1195 作者:cp684 栏目:web开发

之前计算00:00:00的时间是通过一下方法计算的

<?php
    date_default_timezone_set("Asia/Shanghai");
    $offest = 8 * 3600;  // 时区 与 UTC 的偏移量
    $day_to_second = 3600 * 24; // 一天的时间单位转换
    $now = time();
    $midnight = floor($now/$day_to_second)*$day_to_second - $offest;
    echo date("Y-m-d H:i:s",$midnight);

代码量比较多,后来发现strtotime()函数。

echo $now1 = date("Y-m-d H:i:s",strtotime('midnight')); //当天零点

效果和上面的代码一样,但只用了一行。简单方便。所以熟悉一个编程语言的内置函数很重要,它可以帮你节约很多时间,现在简要的对strtotime的接受参数进行说明。

描述符有:dayname 、daytext、number、ordinal、reltext、space(表示1至多个空格)、unit。

接收参数格式部分由描述符组成。

具体资料详见http://cn2.php.net/manual/en/datetime.formats.relative.php

例1:

<?php
    date_default_timezone_set("Asia/Shanghai");
    //当前的日期为  2014-02-11 星期二
    echo date("Y-m-d H:i:s", strtotime('mon'));   // out :2014-02-17 00:00:00
    // ps:不加number 的算法规则是取大于等于本身的的时间戳,
    //如今天星期二 参数为mon 则取下周的星期一的时间戳。 参数为wed,则取本周三的时间戳
    echo "<br >";
    echo date("Y-m-d H:i:s", strtotime('-1 wed')); // 上一周星期三 out :2014-02-05 00:00:00
    echo "<br >";
    echo date("Y-m-d H:i:s", strtotime('1 wed'));  // 本周星期三 out :2014-02-12 00:00:00
    echo "<br >";
    echo date("Y-m-d H:i:s", strtotime('2 wed'));  // 下周星期三 out :2014-02-19 00:00:00
    echo "<br >";

一些参数如果不熟悉 最好不要用。

例如:

<?php
    // today 2.9 sun
    echo date("Y-m-d H:i:s", strtotime('last week'));
    // out:2014-02-03 19:57:18
    echo "<br >";
    echo date("Y-m-d H:i:s", strtotime('mon this week'));
    // out:2014-02-10 00:00:00
    echo "<br >";
    echo date("Y-m-d H:i:s", strtotime('mon next week'));
    // out:2014-02-17 00:00:00
?>

上一周的星期一的时间戳变为本周的星期一时间戳,本周的变为下一周,以此推后一周。

但如果今天不是星期日,则跟预期的一样。

所以要小心使用。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI