convert json datetime format (2018-01-05T22:58:23.937 … “T” within datetime-value to be stored in sql database)
如何转换"json解码"接收到的日期/时间值
2018-01-05T22:58:23.937 (value of $TimeStamp)
号
插入到日期时间类型的SQL数据库字段中
$query=插入数据库(date1,…)值($ddate1,…)
这行不通:
$ddate1 = date_format(new datetime($TimeStamp), 'y.m.d H:i:s');
号
删除"t"也不起作用
$ddate1 = strtr($TimeStamp,"T","");
$ddate1 = date_format(new datetime($ddate1), 'y.m.d H:i:s');
号
更新日期:2018年1月6日
$now = date("y.m.d H:i:s"); $TimeStamp =
$fgc['result'][$i]["TimeStamp"]; // (result of json)echo"OK:" .$now .'
'; echo"nOK: (format of source) sorce"
.$TimeStamp .'
';$dt1 = date('Y.m.d H:i:s', strtotime($Timestamp)); echo"convert:"
.$dt1 .'
';
$dt2 = date('Y-m-d', strtotime($Timestamp)); echo"convert:" .$dt2 .'
';
号
结果:好啊:
18.01.06 12:48:39
号
(样本正确存储在数据库中)
NOK:(来源格式)SORC2018-01-06T11:48:40.207
转换:1970.01.01 01:00:00
转换:1970-01-01
谢谢你的提示
斯特凡
这应该可以做到:
或者,可以使用
1 2 | $dt = new DateTime('2018-01-05T22:58:23.937'); echo $dt->format('Y-m-d'); |
号
做一个像"吹出你需要的东西"这样的函数,我不需要编码,只要解释你需要的东西,让它成为你需要的东西。
1 2 3 4 5 6 | function shortDu($t) { $sam = str_replace('PT','',$t); $sam = str_replace('H',':',$sam); $sam = str_replace('M',':',$sam); $sam = str_replace('S','',$sam); return $sam;} |
在当前值上应用shortdu();然后得到完美的结果,然后输入db
问题解决了(和我第一篇文章中的编码一样…一定是另一个错误…对不起!)
$TimeStamp = $fgc['result'][$i]["TimeStamp"];
号
转换者
$DatumUpdate = date_format(new datetime($TimeStamp ), 'y.m.d
H:i:s');
号
正确存储在数据库中