【问题标题】:Does php date function automatically factor in leap yearphp日期功能是否会自动考虑闰年
【发布时间】:2014-01-09 23:15:01
【问题描述】:

所以我只是为每个月制作一个基本的日历,只是为了使用 PHP 中的日期函数。我使用了一些非常简单的代码,我想将其放入循环中并填充表格中的一些单元格:

public function getDayDate(){
    $month = "January";
    $day="1";
    $year="2014";
    $theW = "$month $day $year";
            //First day of the week on a month
    echo date("D", strtotime($theW));
            //# of days in a month
    echo date("t", strtotime($theW));
}

但我想到了闰年和所有其他可能影响一个月天数的日历事件。我想知道这个基本设置是否会自动将这些内容与这里的数据一起考虑在内。因为我想我可以像星期三一样从一个特定的单元格开始,然后循环 28-31 次以将日期添加到每个单元格,直到它完成。

这是错的吗?我尝试搜索大约一天,大多数问题都更具体地用于查找闰年和/或事件,而不是自动给出最终结果,即该月的天数和该月的哪一天一周开始。

感谢您的帮助!

【问题讨论】:

  • 我建议使用 php DateTime 对象,我认为 date() 函数已被弃用。
  • date 知道闰年,是的。我更喜欢 DateTimeDateIntervalDatePeriod 组合来创建日历,但这只是个人喜好。
  • 并且date 没有被弃用(而且很可能永远不会被弃用,没有理由),但DateTime 有很多优势。

标签: php date


【解决方案1】:

是的,PHP 的 DateTime 类可以。您甚至可以使用L 格式化程序检查它是否是闰年。

$date = date_create();
$isLeapYear = $date->format('L');
var_dump($isLeapYear);

【讨论】:

    【解决方案2】:

    您可以轻松地对其进行测试。计算 2 月 27 日和 3 月 2 日之间的差异,例如闰年和非闰年,您会发现它们是不同的。

    我建议您使用 DateTime::createFromFormat 将字符串转换为日期。

    【讨论】:

      猜你喜欢
      • 2021-10-17
      • 2017-08-15
      • 2015-07-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-13
      • 1970-01-01
      相关资源
      最近更新 更多