繁体   English   中英

无法将 DateTime 时间戳转换为 m/d/y 格式

[英]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.

 
粤ICP备18138465号  © 2020-2025 STACKOOM.COM