关于php:转换json日期时间格式(2018-01-05T22:58:23.937 …“T”在datetime-value中存储在sql数据库中)

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
$date = '2018-01-05T22:58:23.937';
echo date('Y-m-d', strtotime($date)); // 2018-01-05

或者,可以使用OOP样式的DateTime类,如下所示:

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');

正确存储在数据库中