【发布时间】:2011-05-04 01:10:59
【问题描述】:
嘿,我有一个保存事件的数据库。有 2 个字段“开始”和“结束”,它们包含时间戳。当管理员输入这些日期时,他们只能设置日、月、年。所以我们只处理包含天、月、年的戳记,而不是小时、分钟、秒(小时、分钟和秒设置为 0,0,0)。
我有一个事件,开始时间为 1262304000,结束时间为 1262908800。这些转换为 2010 年 1 月 1 日和 2010 年 1 月 8 日。我如何获得这些时间戳之间的所有天数?我希望能够返回 2010 年 1 月 2 日 (1262390400)、2010 年 1 月 3 日 (1262476800) .. 一直到最后的邮票。这些事件可能会跨越不同的月份,比如 5 月 28 日到 6 月 14 日。
任何想法如何做到这一点?
【问题讨论】:
-
当日期跨度夏令时更改时,所有这些通过 86400 调整的解决方案都将失败
-
Mark Baker > 这就是 unix 时间戳的问题。使用 DateTime 类可能更合适,尽管我没有检查我们是否可以轻松做到这一点。
-
@Vincent - 在 Gordon 的链接中有一个使用 datePeriod/dateInterval/dateTime 的示例代码块。
标签: php unix timestamp strtotime mktime