我几天前刚开始使用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文件。
关于这里出错的任何建议?
非常感谢。
答案 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