如何使用PHP';标准时间
我是PHP新手,在基础知识方面有点挣扎,请原谅接下来的可怕代码 我试图做的是解析从XML文件检索到的日期,并查看该日期是否在星期一/星期二等 我似乎做得不对,非常感谢您的帮助如何使用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
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,下面的问题已经解决了。:)工作起来很有魅力!非常感谢。我会记住这个工作起来很有魅力!非常感谢。我会记住这个