Php 中的字符串到日期时间
String to Datetime in Php
我从端口得到一个日期值。我想将该字符串值转换为日期时间。但我无法弄清楚如何。按照我尝试的方式删除代码开头的 0。
传入值:
;03122019;164202;
我的代码:
$data = fread($socket, 1024);
$down= array();
$down= split("#",$data);
$list_n= split(";",$down[$i]);
$time = '';
$time = strval($list_n[1])+''.$list_n[2];
$newformat = date('Y-m-d H:i:s',$time);
echo "Time ---------------> ".$time;
echo $newformat;
结果:
Time ---------------> 3122019164202
3122-01-19 23:01:57
正在删除开头的 0。我想编辑这些值并将它们插入到数据库中。
我要:
Time ---------------> 2019-12-03 16:42:02
您可以使用DateTime::createFromFormat
$dateTime = str_replace(";","",";03122019;164202;");
$date = DateTime::createFromFormat('dmYHis', $dateTime);
echo $date->format('Y-m-d H:i:s');
更新:感谢 @Nemoden 的建议,您可以在没有 str_replace()
的情况下使用 createFromFormat
$dateTime = ";03122019;164202;";
$date = DateTime::createFromFormat(';dmY;His;', $dateTime);
echo $date->format('Y-m-d H:i:s');
输出:
2019-12-03 16:42:02
我从端口得到一个日期值。我想将该字符串值转换为日期时间。但我无法弄清楚如何。按照我尝试的方式删除代码开头的 0。
传入值:
;03122019;164202;
我的代码:
$data = fread($socket, 1024);
$down= array();
$down= split("#",$data);
$list_n= split(";",$down[$i]);
$time = '';
$time = strval($list_n[1])+''.$list_n[2];
$newformat = date('Y-m-d H:i:s',$time);
echo "Time ---------------> ".$time;
echo $newformat;
结果:
Time ---------------> 3122019164202
3122-01-19 23:01:57
正在删除开头的 0。我想编辑这些值并将它们插入到数据库中。
我要:
Time ---------------> 2019-12-03 16:42:02
您可以使用DateTime::createFromFormat
$dateTime = str_replace(";","",";03122019;164202;");
$date = DateTime::createFromFormat('dmYHis', $dateTime);
echo $date->format('Y-m-d H:i:s');
更新:感谢 @Nemoden 的建议,您可以在没有 str_replace()
$dateTime = ";03122019;164202;";
$date = DateTime::createFromFormat(';dmY;His;', $dateTime);
echo $date->format('Y-m-d H:i:s');
输出:
2019-12-03 16:42:02