如何使用PHP';标准时间

如何使用PHP';标准时间,php,date,time,strtotime,Php,Date,Time,Strtotime,我是PHP新手,在基础知识方面有点挣扎,请原谅接下来的可怕代码 我试图做的是解析从XML文件检索到的日期,并查看该日期是否在星期一/星期二等 我似乎做得不对,非常感谢您的帮助 <?php foreach ($xml as $x) { $time = strtotime($x->Start); echo $time; if(date('D', $time) === 'Mon') echo "Boo

我是PHP新手,在基础知识方面有点挣扎,请原谅接下来的可怕代码

我试图做的是解析从XML文件检索到的日期,并查看该日期是否在星期一/星期二等

我似乎做得不对,非常感谢您的帮助

<?php

    foreach ($xml as $x)
    {
        $time = strtotime($x->Start);
        echo $time;

       if(date('D', $time) === 'Mon') 
           echo "Booking for Monday";
       else if(date('D', $time) === 'Tue') 
           echo "Booking for Tuesday";
       else if(date('D', $time) === 'Wed')
          echo "Booking for Wednesday"; 
       else if(date('D', $time) === 'Thu')
          echo "Booking for Thursday"; 
       else if(date('D', $time) === 'Fri')
          echo "Booking for Friday";
   }

?>
它工作正常,并输出“15/07/2013 9:30:00 a.m.”


干杯

日期看起来像
欧洲格式d-m-y
,并使用
美国格式m/d/y
分隔符

注:

m/d/y或d-m-y格式的日期通过查看 不同组件之间的分隔符:如果分隔符是 斜杠(/),则假定为美式m/d/y;然而,如果 分隔符是破折号(-)或点(.),然后是欧洲d-m-y格式 这是假定的

而不是

$time = strtotime($x->Start);
试一试


其他信息:

日期看起来像
欧洲格式d-m-y
,并使用
美国格式m/d/y
分隔符

注:

m/d/y或d-m-y格式的日期通过查看 不同组件之间的分隔符:如果分隔符是 斜杠(/),则假定为美式m/d/y;然而,如果 分隔符是破折号(-)或点(.),然后是欧洲d-m-y格式 这是假定的

而不是

$time = strtotime($x->Start);
试一试


其他信息:

在将时间字符串($x->Start)传递到strotime之前,必须将其转换为一个

替换/替换为。将您的日期更改为支持格式。但请仔细检查以确定

$time = strtotime(str_replace('/', '.',$x->Start));

在将时间字符串($x->Start)传递给strotime之前,必须将其转换为其中一个

替换/替换为。将您的日期更改为支持格式。但请仔细检查以确定

$time = strtotime(str_replace('/', '.',$x->Start));

我知道你已经有了一个公认的答案,但我强烈建议你看看。它们非常有用,可以使看似复杂的日期操作变得微不足道

在您的特殊情况下,我将替换:-

$time = strtotime($x->Start);
与:-

$time = \DateTime::createFromFormat('d/m/Y H:i:s a', $x->Start);

然后,您可以使用该方法按照自己的意愿设置日期的格式。

我看到您已经有了一个可接受的答案,但我强烈建议您查看一下。它们非常有用,可以使看似复杂的日期操作变得微不足道

在您的特殊情况下,我将替换:-

$time = strtotime($x->Start);
与:-

$time = \DateTime::createFromFormat('d/m/Y H:i:s a', $x->Start);

然后,您可以使用该方法对日期进行格式化。

不幸的是,表示日期的字符串不在已识别的PHP日期/时间字符串格式列表中,我认为您需要对其进行一些操作。我会试着想出一些办法来帮助你。谢谢@CaseyFlynn,下面的问题已经解决了。:)不幸的是,表示日期的字符串不在公认的PHP日期/时间字符串格式列表中,我认为您需要对其进行一些操作。我会试着想出一些办法来帮助你。谢谢@CaseyFlynn,下面的问题已经解决了。:)工作起来很有魅力!非常感谢。我会记住这个工作起来很有魅力!非常感谢。我会记住这个