繁体   English   中英

返回的日期不正确

[英]Incorrect day number returned

由于某种原因,我在PHP中执行以下命令时得到正确的日期名称,但是错误的日期编号...

  date_default_timezone_set('Europe/Helsinki');
  echo "date('l'): ".date('l'); // returns Thursday
  echo "date('w'): ".date('w'); // returns 4

  $dt = new DateTime();
  var_dump($dt); // matches local time and date

  object(DateTime)[24]
    public 'date' => string '2016-09-08 14:44:37' (length=19)
    public 'timezone_type' => int 3
    public 'timezone' => string 'Europe/Helsinki' (length=15)

  echo $dt->format('w'); // returns 4

奇怪的是,在浏览器中调用getDay()时,我用JS返回了4行相同的操作,因此它似乎不是特定于语言的。 注意:我正在使用LAMP堆栈。

有人知道为什么吗? 谢谢。

您使用的日期参数w返回正确的值。 您需要引用另一个参数以返回期望的结果:

从PHP手册:

“ w”星期几的数字表示形式(0表示星期日)至6表示(星期六表示)

您需要用“ d”或“ D”代表月份中的某天。

<?php date('d', $timestamp); // returns day of month with leading 0's ?>

原因是这个

 w gives Numeric representation of the day of the week 0 (for Sunday) through 6 (for Saturday) 

w-从星期日到星期六计数为0到6,这就是为什么您得到4

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM