php中怎么实现datetime转date

php中实现datetime转date的方法是:1、先执行新的DateTime以获取当前日期和时间;2、使用format()方法将日期时间转换回用于输出的字符串。

本文操作环境:windows10系统、PHP7、thinkpad t480电脑。

在PHP中有一个自带的类Date Time,或许很多小伙伴还不太了解这个类,下面我们就先来说说这个类。

DateTime类可以帮助我们读取、写入、比较或计算日期和时间。当然除了DATETIME之外,PHP中还有许多与日期和时间相关的函数,但它为大多数常见用途提供了良好的面向对象接口。它可以处理时区,但这不在这个简短的介绍范围之内。

假如我们要开始使用DateTime,需要使用createFromFormat()工厂方法将原始日期和时间字符串转换为对象,或者执行新的DateTime以获取当前日期和时间。使用format()方法将日期时间转换回用于输出的字符串。

c74244085655658cb8af142cdc4f134.png

使用DateInterval类可以使用DateTime进行计算。DateTime有像add()和sub()这样的方法,它们以DateInterval为参数。不要编写期望每天都有相同秒数的代码,夏令时和时区更改都会打破这一假设。改为使用日期间隔。要计算日期差异,请使用diff()方法。它将返回新的DateInterval,非常容易显示。

<?php
// 克隆一份 $start ,在其基础上加一个月零6天
$end = clone $start;
$end->add(new DateInterval('P1M6D'));
 
$diff = $end->diff($start);
echo 'Difference: ' . $diff->format('%m month, %d days (total: %a days)') . "n";
// 差值: 1 个月, 6 天 (总共: 37 天)

对于DateTime对象,您可以使用标准比较:

5992c4d2922350af327f0d9b045ad0a.png

最后一个演示DatePeriod类的示例。它用于迭代重复发生的事件。它可以接受两个DateTime对象,Start和End,以及返回这两个对象之间所有事件的间隔。

1dd8ee6175dfa42b01506c3a6d44edd.png

一个流行的PHP API扩展是Carbon。它继承了DateTime类中的所有内容,因此涉及的代码更改最少,但额外的功能包括本地化支持、添加、减去和格式化DateTime对象的进一步方法,以及通过模拟您选择的日期和时间来测试代码的方法。

Carbon提供了一些很好的功能来处理 PHP 中的日期,特别是诸如:

  • 处理时区

  • 轻松获取当前时间

  • 将 datetime 转换成可读的内容

  • 将英语短语解析成 datetime (first day of January 2016)

  • 日期的加减 (+ 2 weeks, -6 months)

  • 处理日期的语义方法

098412dcd8dff78dafe0f3dcc2f1ae7.png

所有的这些都带来了一个非常有用的包,使得这些在 PHP 中处理时间非常容易。

884b3dcf073490de02dba2f84cfc352.png

Carbon 能做的远远不止这些。请务必查看 Carbon 官方文档。希望这能帮助你在 PHP 中更容易的使用日期 / 时间并加快开发效率!

推荐学习:php培训

hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » php中怎么实现datetime转date