使用PHP更改JSON中的日期

问题描述 投票:0回答:2

我在JSON文件中有几个日期,我想知道如何重写它们的输出。

当前日期:2018-03-04T23:40:46.94应该如何:04/03/2018

目前的JSON:

 {
    "SKU": "PQ-70-7EF",
    "ParentSKU": null,
    "Category": "Alarm clocks",
    "EAN": "4971850420019",
    "Title": "Casio Wakeup timers",
    "Description": "Casio Wakeup timers",
    "Brand": "CASIO",
    "RRP": 56,
    "Price": 26.1,
    "PriceUpdateUTC": null,
    "Stock": 0,
    "StockUpdateUTC": "2018-03-04T23:40:46.94",
    "Images": [
        {
            "ImageSort": null,
            "ImageURL": "https://uwt.blob.core.windows.net/dsales/partimage/pq-70-7ef_kniwoz.jpg",
            "IsDefault": true
        }
    ]
}

当前脚本:

foreach ($data as $key => $entry) {
    $data[$key]['StockUpdateUTC'] = date('d/m/Y');
}

上面的脚本将所有日期更改为今天的日期。谢谢您的帮助。

关心伊利

php json date
2个回答
2
投票

您必须将当前字符串日期转换为时间戳(使用strtotime()),然后将此时间戳作为date()的第二个参数传递。

foreach ($data as $key => $entry) {
    $data[$key]['StockUpdateUTC'] = date('d/m/Y', strtotime($data[$key]['StockUpdateUTC']));
}

2
投票

您可以将日期变量作为参数传递给date()函数,如下所示:

foreach ($data as $key => $entry) {
    $data[$key]['StockUpdateUTC'] = date('d/m/Y',strtotime($data[$key]['StockUpdateUTC']));
 }

这样它将转换您的日期,而不是使用当前日期。

编辑:由Syscall修改,你需要使用strtotime()将你的字符串转换为实际日期

© www.soinside.com 2019 - 2024. All rights reserved.