在php中将纪元时间斜坡转换为格式化的日期字符串[重复]

Posted

技术标签:

【中文标题】在php中将纪元时间斜坡转换为格式化的日期字符串[重复]【英文标题】:Converting an epoch timesramp to a formatted date string in php [duplicate] 【发布时间】:2018-09-09 16:58:25 【问题描述】:

我试图在 php 中将一个纪元时间戳值转换为格式化的日期字符串并得到意外结果:

$dateStart = 1104555600000;
$formattedDate = date('Y-m-d', $dateStart);

Expected Result: 2005-01-01   
Actual Result: 1993-09-26

1104555600000 等价于2005-01-01

但是,$formattedDate 最终变成了1993-09-26

【问题讨论】:

纪元的来源是什么? 1104555600000 看起来零太多了。 echo strtotime( '2005-01-01' ); 在我的系统上生成 1104566400 您的纪元以毫秒为单位。尝试几秒钟。 @JosephSzymborski 所说的,尝试删除三个尾随数字或将其除以 1,000。 @MonkeyZeus 你的意思是除以 1000 @am05mhz tomaytoe tomahtoe...这不是英语课。 【参考方案1】:

实际上你的纪元时间戳是以毫秒为单位的,将其转换为秒,然后将其转换为日期

<?php

$dateStart = 1104555600000;
echo $formattedDate = date('Y-m-d', $dateStart/1000);

输出:- https://eval.in/981417

【讨论】:

为什么在传递纪元时间戳时除以 1000 不起作用,例如:4307486400000,应该是 2160 年?相反,它正在转换为 1970 年。

以上是关于在php中将纪元时间斜坡转换为格式化的日期字符串[重复]的主要内容,如果未能解决你的问题,请参考以下文章

在 Python 中将一列日期时间转换为纪元

在 Oracle SQL 中将纪元时间转换为正常的日期时间格式

在linux bash中将ISO日期转换为纪元以来的秒数

在Java中将ISO 8601时间戳字符串转换为纪元秒[重复]

在perl中将日期转换为纪元的最佳方法[关闭]

如何在 python 中将普通时间戳转换为纪元时间戳