Php 如何从文本文件解析日期?

Php 如何从文本文件解析日期?,php,Php,我正在解析文本文件中的日期。这里是我的文本文件: #Tue Jul 15 15:40:44 CEST 2015 我就是这样分析它的: foreach ($linesArray AS $line) { if (strlen($line) && $line[0] == '#') { $date = strtotime(substr($line, 1)); $strDate = date("y-m-d H:i:s", $date); }

我正在解析文本文件中的日期。这里是我的文本文件:

#Tue Jul 15 15:40:44 CEST 2015
我就是这样分析它的:

foreach ($linesArray AS $line) {
    if (strlen($line) && $line[0] == '#') {
       $date = strtotime(substr($line, 1));
       $strDate = date("y-m-d H:i:s", $date);
    }
但结果我得到了一个不同的日期:

echo $strDate;
15-07-21 14:40:44

您需要始终(主要)指定解析日期的格式。基本上,您需要构建一个与日期格式兼容的字符串。可以在此处找到所有可能的格式参数字符串:

这适用于日期格式:

$date = "Tue Jul 15 15:40:44 CEST 2015";
$formatted = DateTime::createFromFormat('* M d H:i:s T Y',$date);
var_dump($formatted->format("Y-m-d H:i:s"));
您需要始终(主要)指定解析日期的格式。基本上,您需要构建一个与日期格式兼容的字符串。可以在此处找到所有可能的格式参数字符串:

这适用于日期格式:

$date = "Tue Jul 15 15:40:44 CEST 2015";
$formatted = DateTime::createFromFormat('* M d H:i:s T Y',$date);
var_dump($formatted->format("Y-m-d H:i:s"));

@贾拉,我的错。没关系。可能是@Jarla Er的复制品,我的错。没关系。可能是重复的你好,谢谢,这是你的约会对象,但不是我的。当我让你的日期
var_dump($date)
我得到了这个结果
string(29)“7月15日星期二15:40:44 CEST 2015”
,但我的日期看起来是这样的:
string(30)“7月15日星期二15:40:44 CEST 2015”
为什么我的日期不起作用?那么,它是同一个日期,只是最后有一个空格?用于从两侧删除空格。我不确定你的输入与我的输入有什么不同,因为我刚刚从你的代码中复制了
$date
。谢谢你,trim工作了,但是你代码的var_dump结果仍然是string(19)“2015-07-21 15:40:44”从哪里来的
21
?我在空白页上尝试了你的代码,结果是
string(19)“2015-07-21 15:40:44”
我已将格式固定为
“*mdh:I:sty”
。我们实际上不想解析日期名称,因为它会把事情搞砸。现在应该可以了。你好,谢谢,这是你的约会对象,但不是我的。当我让你的日期
var_dump($date)
我得到了这个结果
string(29)“7月15日星期二15:40:44 CEST 2015”
,但我的日期看起来是这样的:
string(30)“7月15日星期二15:40:44 CEST 2015”
为什么我的日期不起作用?那么,它是同一个日期,只是最后有一个空格?用于从两侧删除空格。我不确定你的输入与我的输入有什么不同,因为我刚刚从你的代码中复制了
$date
。谢谢你,trim工作了,但是你代码的var_dump结果仍然是string(19)“2015-07-21 15:40:44”从哪里来的
21
?我在空白页上尝试了你的代码,结果是
string(19)“2015-07-21 15:40:44”
我已将格式固定为
“*mdh:I:sty”
。我们实际上不想解析日期名称,因为它会把事情搞砸。现在应该可以工作了。