资讯专栏INFORMATION COLUMN

PHP最佳实践之日期、时间和时区

ernest.wang / 987人阅读

摘要:自己处理很容易出错,建议使用从之后新增的和类。可以的日期和格式可以参见使用偏移时间有效的周期标志如下年月分间隔的周期中即表示月,又表示分。所以怎么区分呢前个表示日期,后面的表示时间,这就需要用字母来分隔。

1).自己处理很容易出错,建议使用从PHP5.2之后新增的DateTime、DateInterval和DateTimeZone类。
2).使用date_default_timezone_set("Asia/Shanghai");设置默认时区为中国时区,或者你也可以在php.ini文件中配置。
3).使用DateTime管理时间和日期:


4).DateTime::createFromFormate()静态方法使用的日期格式与date()一样。可以的日期和格式可以参见http://php.net/manual/zh/date...
5).使用DateInterval偏移时间:

add($interval);
echo $datetime->format("Y-m-d H:i:s");

有效的周期标志如下:

Y(年)

M(月)

D

W

H

M(分)

S
间隔的周期中M即表示月,又表示分。所以怎么区分呢?前3个表示日期,后面的表示时间,这就需要用字母T来分隔。可以使用T2M表示间隔两秒。

$dateStart = new DateTime();
$dateInterval = DateInterval::createFromDateString("-1 day");
$datePeriod = new DatePeriod($dateStart, $dateInterval, 3);
foreach ($datePeriod as $date) {
    echo $date->format("Y-m-d"), PHP_EOL;
}

5).DateTimeZone类:

setTimezone(new DateTimeZone("Asia/Hongkong"));

最好是一直使用UTC时间。服务器使用,自己开发默认也是,然后存入数据库也是,这样的话把数据显示给用户看的话转换为适当时区的日期和时间就行了。
6).上面说到的DatePeriod类适合在迭代处理一段时间内反复出现的一系列时期和时间,重复在日程表中记事就是一个很好的例子。
7).nesbot/carbon组件是一个不错的时间组件

专题系列

PHP专题系列目录地址:https://github.com/xx19941215/webBlog
PHP专题系列预计写二十篇左右,主要总结我们日常PHP开发中容易忽略的基础知识和现代PHP开发中关于规范、部署、优化的一些实战性建议,同时还有对Javascript语言特点的深入研究。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/23311.html

相关文章

  • PHP|开发必知的良好实践

    摘要:使用类来管理日期和时间使用类来构造长度固定的时间段。时区的处理选择。预处理语句时的实例。简单而言,流是具有流式行为的资源对象。流的作用实际上是在出发地和目的地之间传输数据。错误由于某种原因导致无法运行,通常会触发错误。 过滤、验证、转义 所有这些外部资源都不能完全相信 $_GET $_POST $_REQUEST $_COOKIE $argv php://stdin php://in...

    bingo 评论0 收藏0
  • Dockerfile最佳实践

    摘要:比如和指令,镜像中的文件内容被检查并且为每个文件计算校验和。这些文件的最终修改和访问时间将不被考虑到校验和内。在查找缓存期间,校验和将被用于与已存在的镜像校验和进行对比。 Docker 可以从 Dockerfile 中读取指令自动构建镜像,Dockerfile是一个包含构建指定镜像所有命令的文本文件。Docker坚持使用特定的格式并且使用特定的命令。你可以在 Dockerfile参考 ...

    张金宝 评论0 收藏0
  • php 学习笔记日期时间操作一箩筐

    摘要:格式化日期时间格式化日期时间场景将当前日期时间或者特定日期时间格式化输出为特定格式的字符串常用于人性化展示信息说明返回给定时间戳格式化后所产生的日期时间字符串如果没有给出时间戳则默认使用本地当前时间备注格式说明返回值示例位数字完整表示的年份 showImg(https://segmentfault.com/img/remote/1460000019351405); 格式化日期时间 d...

    tain335 评论0 收藏0
  • php 学习笔记关于时区的那点事

    摘要:科普一下什么是时区众所周知地球绕着太阳转的同时也会自转因此同一时刻不同地区所接收到太阳照射的情况不同所以有的地区是日出有的地区是日落还有的地区可能是黑夜既然地球上的不同地区时间不同那总要有统一的时间刻度才能方便文化科技交流吧不然大家说的都是 科普一下什么是时区 众所周知,地球绕着太阳转的同时也会自转,因此同一时刻不同地区所接收到太阳照射的情况不同,所以有的地区是日出,有的地区是日落,还...

    xzavier 评论0 收藏0

发表评论

0条评论

ernest.wang

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<