为了账号安全,请及时绑定邮箱和手机立即绑定

php时间函数之strtotime

标签:
PHP

之前计算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。

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

例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 >";


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

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

所以要小心使用。

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消