Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/270.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为DATETIME转换日期_Php_Datetime - Fatal编程技术网

使用PHP为DATETIME转换日期

使用PHP为DATETIME转换日期,php,datetime,Php,Datetime,我知道有成千上万个类似的问题,但如果没有必要,请不要问 我做了很多研究,发现了所有使用标准PHP函数进行日期转换的解决方案,如果要转换的日期有一个标准,它就可以完美地工作,而不是我的情况 我从第三方网站获取数据,该网站以以下格式向我返回日期: 12/20/2012 14:34 -> d/m/Y H:m 请注意,除此之外,奇怪的图案没有秒 问题是,我试图将这些解决方案用作标准的strotime和一些函数,但都没有解决我的问题。我最终创建了以下解决方案: <?php $data =

我知道有成千上万个类似的问题,但如果没有必要,请不要问

我做了很多研究,发现了所有使用标准PHP函数进行日期转换的解决方案,如果要转换的日期有一个标准,它就可以完美地工作,而不是我的情况

我从第三方网站获取数据,该网站以以下格式向我返回日期:

12/20/2012 14:34 -> d/m/Y H:m
请注意,除此之外,奇怪的图案没有秒

问题是,我试图将这些解决方案用作标准的strotime和一些函数,但都没有解决我的问题。我最终创建了以下解决方案:

<?php

$data = '20/12/2012 14:34';

$teste = explode('/', $data);
$teste2 = explode(' ',  $teste['2']);

$final = $teste2['0'] . '-' .$teste['1'] .'-'. $teste['0']. ' '. $teste2['1'].':00';

echo $final;

这就是我想到的:

$date = '20/12/2012 14:34';
$date = str_replace('/', '-', $date);
$date = strtotime($date);

$newdate = date('d-m-Y H:i:s', $date);
echo($newdate);
//returns 20-12-2012 14:34:00

我对您要查找的格式感到相当困惑,但是您可以在
date()
函数中切换日期规范。有关PHP
date()

的更多信息,请参阅
strotime
如何不工作?您的解决方案中有不同的格式。@njk
d/m/Y H:m
不是有效的复合日期-时间格式。@Marcusreck我被OP说他得到的日期(即2012年12月20日)弄糊涂了。他说他从第三方得到
d/m/Y H:m
,他的示例代码反映了这一点。“12/20/2012 14:34->d/m/Y H:m”?这些不在一起。必须为“2012年12月20日”或“年月日”。是哪一种?我需要的格式正是你所经历的,谢谢。此函数不会在服务器上产生开销?我的例子显然对服务器不好,我不知道这个脚本的性能如何,但由于它是一个本机函数,我认为这是最有效的方法。