php:使用" date"来自给定日期的星期几功能:比预期答案提前一天

时间:2015-08-13 11:32:29

标签: php

我几天前刚开始使用php。我想在某个特定日期获得一周中的某一天。

$firstmonthdate = strtotime("7/1/2015");
//print what my timezone is, for clarity's sake for this question
$myTimezone = date_default_timezone_get(); 
echo $myTimezone."\n"."first day = ".date("r",$firstmonthdate);

我得到以下输出代码:

Asia/Singapore
first day = Wed, 01 Jul 2015 00:00:00 +0800

到目前为止一切顺利。我的问题出在下一行代码中:

echo "first day = ". strtolower(date("D",$firstmonthdate))."\n";

这行代码的输出是:

first day = thu

如上所示,正确的答案是wed,但我得到thu并且完全感到困惑。这可能是由于新加坡和GMT之间的时区差异,但我无法弄清楚为什么以及如何解决它。如上所示,我已正确设置本地时区,并通过本地笔记本电脑上的CLI界面运行此时区。本地网络服务器也在使用相同的php.ini文件。

关于这里出错的任何建议?

非常感谢。

1 个答案:

答案 0 :(得分:2)

因为你的变量中有拼写错误

echo "first day = ". strtolower(date("D",$firsmonthdate))."\n";
                                             ^^

而应该是

echo "first day = ". strtolower(date("D",$firstmonthdate))."\n";
                                             ^^

如果您的error_reporting已开启,那么您将获得Notice: Undefined variable: firsmonthdate

你需要在php中关注日期。在这里,你得到了 日期为1970-01-01,如果在另一个表示中使用,则为Thu, 01 Jan 1970 00:00:00 +0000