Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php中日期时间的字符串_Php_Date_Datetime_Datetime Format - Fatal编程技术网

Php中日期时间的字符串

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

我从端口获取日期值。我想把这个字符串值转换成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];
$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