Php中日期时间的字符串
我从端口获取日期值。我想把这个字符串值转换成datetime。但我不知道怎么做。按我尝试的方式删除代码开头的0 传入值:Php中日期时间的字符串,php,date,datetime,datetime-format,Php,Date,Datetime,Datetime Format,我从端口获取日期值。我想把这个字符串值转换成datetime。但我不知道怎么做。按我尝试的方式删除代码开头的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]; $newform
;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
你可以用
更新:感谢您的建议,您可以使用createFromFormat而不使用str\u replace()
输出:
2019-12-03 16:42:02
我认为您需要回显$newformat,而不是我尝试过的$time。但结果是:“3122-01-19 23:01:57”@rrsantos这能回答你的问题吗?比我先到这…:)但我对代码的改进是,您实际上可以保留那些
的格式,因此不需要str\u替换
anything删除我的答案。唯一的区别是没有stru replace
,但是DateTime::createFromFormat
的格式是;dmY;他的如果你能举例说明,那就太好了:)
$dateTime = ";03122019;164202;";
$date = DateTime::createFromFormat(';dmY;His;', $dateTime);
echo $date->format('Y-m-d H:i:s');
2019-12-03 16:42:02