PHP/WordPress处理时间戳时年份偏差数百年是什么原因?
问题原因
你调用的接口返回的时间戳为毫秒级Unix时间戳,PHP原生date()、WordPress内置wp_date()函数的第二个入参要求传入秒级Unix时间戳,你直接传入毫秒值相当于时间数值放大了1000倍,因此会得到五万多年后的错误日期。
你之前在在线转换工具中得到正常结果,是因为这类工具大多会自动识别秒级/毫秒级时间戳,自动完成单位转换,因此显示正常。
解决方案
只需要将拿到的毫秒时间戳除以1000,转换为秒级后再传入日期函数即可,建议额外做整型转换避免小数带来的异常:
// 仅需要修改原代码中时间戳处理的对应行即可 $timestamp = intval($new_arr[4]->price / 1000); $date = date("Y-m-d H:i:s",$timestamp); echo $date;
内容的提问来源于stack exchange,提问作者gkennedy87
相关产品推荐
相关产品推荐

