date_timestamp_set()函数设置基于 Unix 时间戳的日期和时间。
date_timestamp_set()函数是DateTime::setTimestamp的别名。 此函数接受DateTime对象和Unix时间戳作为参数,并将指定的时间戳设置为给定的对象。
date_timestamp_set($object, $timestamp)
| 序号 | 参数及说明 |
|---|---|
| 1 | object(必需) 这是一个DateTime对象。 |
| 2 | timestamp(必需) 这是Unix时间戳。 |
PHP date_timestamp_set()函数返回具有修改后的(时间)值的DateTime对象。如果失败,此函数将返回布尔值false。
此函数最初是在PHP版本5.3.0中引入的,并且可以在所有更高版本中使用。
以下示例演示了date_timestamp_set函数指定Unix 时间戳的日期和时间:
<?php
$date = new DateTime();
$res = date_timestamp_set($date, 1505292545);
print("Date: ".date_format($res, "Y/m/d H:i:s"));
?>测试看看‹/›输出结果
Date: 2017/09/13 08:49:05
下面的示例创建一个DateTime对象,并使用date_timestamp_set()函数修改其值。-
<?php
$date = new DateTime();
$timestamp1 = time() - (23*12*30);
$res1 = date_timestamp_set($date, $timestamp1);
print("Date: ".date_format($res1, "Y/m/d H:i:s"));
print("\n");
$timestamp2 = time() + (23*12*30);
$res2 = date_timestamp_set($date, $timestamp2);
print("Date: ".date_format($res2, "Y/m/d H:i:s"));
?>测试看看‹/›输出结果
Date: 2020/05/11 08:57:30 Date: 2020/05/11 13:33:30
作为此函数的代替方法,您可以仅将时间戳记值作为字符串传递,并以“ @”作为参数传递给DateTime构造函数
<?php
$date = new DateTime("@1495283256");
print("Date: ".date_format($date, "Y/m/d H:i:s"));?>测试看看‹/›因为我们已经将月份值设置为15。将在正确的时间内加上三个月
Date: 2020/05/11 00:15:36