PHP:将年中天数转换为月份和日期

4
如果你知道一年中的某一天,如何将其转换为该月的某一天和月份?例如:第144天应该转换为5月26日。我猜想我还需要添加实际年份以解决闰年问题,但我完全没有找到任何相关信息。
例如,mktime()函数需要月份、年份和当月天数。
有人有什么建议吗?

这取决于这是否是闰年。 - WojtekT
顺便提一下,今天是2012年的第147天 ;) - nullpointr
2个回答

11

最可靠和方便的方法是使用DateTime对象。您可以使用DateTime::createFromFormat()静态方法,根据当前年份的某一天创建它:

$date = DateTime::createFromFormat('z', '144');

现在你已经拥有了$date变量中的DateTime对象,你可以执行任何你想要的任务。要输出包含的日期,只需调用:

echo $date->format('j. n. Y');

它将打印出 24.5.2012,因为这是闰年,并且它从零开始索引天数(就像数组索引一样)。


4
strtotime("January 1st +".($days-1)." days");

这将返回与指定年份的某一天对应的时间戳。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接