📅  最后修改于: 2023-12-03 14:55:30.291000             🧑  作者: Mango
在 PHP 中,时间戳是一个整数,表示从 Unix 纪元(1970 年 1 月 1 日 00:00:00 UTC)开始经过的秒数。Datetime 是一个 PHP 内置的类,可以用于处理日期和时间的格式化和计算。
要创建一个 Datetime 对象,可以使用构造函数,传入一个时间戳或者一个日期字符串作为参数:
$date1 = new DateTime(); // 当前日期和时间
$date2 = new DateTime('2022-01-01'); // 日期字符串
$date3 = new DateTime('@1641081595'); // 时间戳
当传入一个日期字符串时,可以使用常见的日期格式,如 Y-m-d H:i:s
表示年月日时分秒,也可以包含时区信息。
Datetime 对象有一个 format
方法,可以将日期和时间格式化为指定的字符串:
$date = new DateTime();
echo $date->format('Y-m-d H:i:s'); // 2021-12-22 12:34:56
可以使用各种格式化选项,例如:
Y
年份(四位数)m
月份(带前导零)d
日期(带前导零)H
小时数(24 小时制,带前导零)i
分钟数(带前导零)s
秒数(带前导零)l
星期几(英文全拼)D
星期几(英文缩写)Datetime 对象有一系列的方法,可以增加/减少日期和时间:
$date = new DateTime('2021-12-22');
$date->add(new DateInterval('P1D')); // 增加一天
$date->sub(new DateInterval('P2W')); // 减少两周
添加时段的 DateInterval
对象可以使用各种格式:
P1D
表示一个周期为一天PT1H30M
表示一个周期为一小时半P2W4D
表示一个周期为两周四天Datetime 对象也可以做日期和时间之间的计算,例如计算两个日期之间的差距:
$date1 = new DateTime('2021-12-22');
$date2 = new DateTime('2022-01-01');
$interval = $date1->diff($date2);
echo $interval->format('%R%a days'); // +10 days
diff
方法返回一个 DateInterval
对象,可以计算日期和时间之间的间隔,以及各种格式化选项。