📜  来自时间戳的 php datetime - PHP (1)

📅  最后修改于: 2023-12-03 14:55:30.291000             🧑  作者: Mango

来自时间戳的 php datetime - PHP

介绍

在 PHP 中,时间戳是一个整数,表示从 Unix 纪元(1970 年 1 月 1 日 00:00:00 UTC)开始经过的秒数。Datetime 是一个 PHP 内置的类,可以用于处理日期和时间的格式化和计算。

创建 Datetime 对象

要创建一个 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 对象,可以计算日期和时间之间的间隔,以及各种格式化选项。

参考文献