4

如果你有一年中的某一天。你怎么能把它转换成月份和月份的日期?例如:“144”日应转换为 5 月 26 日。我想我还必须添加实际年份来说明闰年。但我什么也没找到。

例如,函数mktime()期望月、年和月中的某日。

有人有什么建议吗?

4

2 回答 2

11

最可靠、最方便的方法是使用 DateTime 对象。您可以使用DateTime::createFromFormat()静态方法根据当年的日期创建它:

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

而且因为您知道$date变量中有 DateTime 对象,所以您可以执行任何您想要执行的任务。要输出包含的日期,只需调用:

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

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

于 2012-05-26T21:26:58.933 回答
4
strtotime("January 1st +".($days-1)." days");

这将返回对应于一年中指定日期的时间戳。

于 2012-05-26T21:17:21.137 回答