在我的PHP脚本中,我有一个处理生日的函数,如下所示:
$dateTime = DateTime::createFromFormat('U', $time);
问题是,这会返回带有负$time数字的false
(即1970年1月1日之前的日期)。在PHP文档中有一条评论说
请注意,U选项不支持负时间戳(之前1970)。你必须使用日期。
不过,我不确定如何使用Date来获得与DateTime::createFromFormat()
给出的结果相同的结果。有人知道怎么做吗?
如果您只需要将UNIX时间戳格式化为可读日期,date
很容易使用:
// make sure to date_default_timezome_set() the timezone you want to format it in
echo date('Y-m-d H:i:s', -12345);
若要从负UNIX时间戳创建DateTime
实例,可以使用以下形式的常规构造函数:
$datetime = new DateTime('@-12345');