【问题标题】:How to get first and last date of the month from a given numeric month PHP如何从给定的数字月份 PHP 中获取该月的第一个和最后一个日期
【发布时间】:2018-03-13 10:16:56
【问题描述】:

如果给定我有月份的数字,我想获取该月的第一个日期和最后一个日期。

例如,一月 = 01,十月 = 10,十一月 = 11

所以如果我将 10 作为参数传递,我应该得到 10 月的第一个和最后一个日期。

我尝试使用Carbon 来实现它。但我给了我不同的结果。

这里是代码。结果就在旁边。

$dt =  Carbon::create(10);
echo $dt->startOfMonth(); // 0010-10-01 00:00:00
echo $dt->endOfMonth(); // 0010-10-31 00:00:00

【问题讨论】:

标签: php mysql date php-carbon


【解决方案1】:

任何一个月的第一天都是第一天。

使用createFromFormat

$dt = Carbon::createFromFormat('m', 10);
echo $dt->endOfMonth();

【讨论】:

    【解决方案2】:

    问题在于这一行:

    Carbon::create(10);
    

    Carbon 的create 方法采用以下参数列表:

    $year, $month, $day, $hour, $minute, $second, $tz
    

    而您只提供第一个。因此,您最终会得到一个表示今天日期的对象,但在 10 年。

    如果您只想提供month 参数,您应该使用:

    Carbon::createFromFormat('m', 10);
    

    请注意,这将默认为当前年份,因此 2 月份的结果并不总是一致的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-01-06
      • 1970-01-01
      • 2020-06-04
      • 1970-01-01
      • 2012-05-25
      • 2021-12-07
      • 2013-02-09
      相关资源
      最近更新 更多