All*_*ore 5 php datetime php-7
我的理解是,php中的datetimes表示为某个日期后的毫秒数(我认为是1960年的某个时间?)。如何构造一个代表php中最早允许日期的datetime?示例可能的语法为:
$date = new DateTime(0);
Run Code Online (Sandbox Code Playgroud)
但这不起作用。还有其他方法吗?
感谢您的任何投入。
你很近
$date = (new DateTime())->setTimestamp(0);
Run Code Online (Sandbox Code Playgroud)
1970 年 1 月 1 日
我认为 DateTime 对象可接受的最小和最大日期如下(在 PHP 7.4 及以上的 64 位机器上,使用 PHPUnit 进行演示)。这对于为 DateTime 和 Carbon 的日期验证器提供默认的最小值和最大值非常有用。这个答案也发布在 DateTime::__construct() 的 PHP 手册页的用户贡献注释中。
如果您想获得非常精确的信息,请修改下面的代码以考虑时间和时区。
// smallest date
$input = '-9999-01-01';
$dt = new \DateTime($input);
self::assertEquals($input, $dt->format('Y-m-d'));
$input = '-10000-12-31';
$dt = new \DateTime($input);
self::assertEquals('2000-12-31', $dt->format('Y-m-d'));
// largest date
$input = '9999-12-31';
$dt = new \DateTime($input);
self::assertEquals($input, $dt->format('Y-m-d'));
$input = '10000-01-01';
$dt = new \DateTime($input);
self::assertEquals('2000-01-01', $dt->format('Y-m-d'));
Run Code Online (Sandbox Code Playgroud)
echo date('d-m-Y', 0); // outputs: 01-01-1970
Run Code Online (Sandbox Code Playgroud)
epoch 0
给出 1970 年 1 月 1 日的 unix 时间戳01-01-1970
或 00:00:00 UTC。
归档时间: |
|
查看次数: |
4005 次 |
最近记录: |