[英]Unable to convert DateTime timestamp to m/d/y format
所以我使用的是 API,我得到以下updatedOn
响应: "UpdatedOn": "/Date(1674542180860+0000)/"
。
我正在使用以下代码将其转换为m/d/y
格式:
if (!empty($data->Data->Shipment->UpdatedOn)):
$timestamp = preg_replace('/[^0-9+-]/', '', $data->Data->Shipment->UpdatedOn);
$date = new DateTime("@$timestamp");
$timestamp = $date->getTimestamp();
$parse_date = date('m/d/Y', $timestamp);
echo '<span>' . $parse_date . '</span>';
endif;
问题是它没有正确输出,所以我需要一些帮助 - 这是我收到的 output:
02/17/55034
我想按以下格式发送 output: January 12th, 2023
。
谁能帮我处理我的代码?
在我们的十年时间戳中是一个 10 位数字所以这个 nember => "1674542180860" 必须除以 1000,如果这两个数字 "1674542180860" 和 "0000" 必须加在一起,我们应该分解这个字符串并对两个数字求和,我建议你试试这个:
if (!empty($data->Data->Shipment->UpdatedOn)){
$timestamp = preg_replace('/[^0-9+-]/', '', $data->Data->Shipment->UpdatedOn);
$timestamp = explode('+',$timestamp);
$timestamp = (int)$timestamp[0] + (int)$timestamp[1];
$timestamp = (int)($timestamp/1000);
$parse_date = date('F d\t\h Y', $timestamp);
echo '<span>' . $parse_date . '</span>';
}
这是您最喜欢的日期显示格式 => "F d\t\h Y"
if(!empty($data->Data->Shipment->UpdatedOn)){
$parse_date = date('M d, Y', strtotime($data->Data->Shipment->UpdatedOn));
echo '<span>' . $parse_date . '</span>';
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.