【发布时间】:2017-10-30 12:22:45
【问题描述】:
我知道这可能有一个简单的答案,但我尝试了几件事,但似乎没有任何效果。
我从 JSON 数组中获取了以下数据:
{
"Id": 21973679,
"InvoiceNumber": 13,
"IssueDate": "14/08/2017",
"EulerID": 6162023,
"CustomerName": "Alderley plc",
"TotalAmount": "1,704.00",
"TotalTaxAmount": 0,
"Currency": "USD",
"DueDate": "13/09/2017",
"AmountDue": "0",
"Status": "Paid"
},
{
"Id": 21974783,
"InvoiceNumber": 23,
"IssueDate": "09/01/2017",
"EulerID": 6162023,
"CustomerName": "Alderley plc",
"TotalAmount": "11,000.00",
"TotalTaxAmount": 0,
"Currency": "GBP",
"DueDate": "08/02/2017",
"AmountDue": "0",
"Status": "Paid"
},
我正在尝试获取 IssueDate 和 DueDate。两者都以 dd/mm/yyyy 格式存储。但是无论我做什么 php 似乎都无法始终如一地捕获它们。
$report_starting_date=$item1['IssueDate'];
$report_starting_date=date('d/m/Y',strtotime($report_starting_date));
对于第 2 项发票 (23),如果我回显它将返回 1 的月份,它工作正常,这似乎可以工作,因为日期可以是 dd/mm 或 mm/dd 但是在第 1 项发票 (13) 14不能是一个月,所以 php 似乎将日期设置为 01/01/1970。我不知道为什么我可以正确存储一个项目而不是另一个?
谢谢
【问题讨论】:
-
你检查过你正在为日期函数解析正确的值吗? echo $item1['IssueDate'];和 $item2['IssueDate'] 并检查是否。字符串是正确的。当字符串有问题时会出现此错误。
-
带有
/的日期被视为美国格式 (mm/dd/YYYY),14 不是有效月份 -
嗨,马克,是的,我想我可能是这样的,但日期必须带有 / 并且我需要英国格式的日期