Hay,我有一个数据库举办活动 . 有两个字段'start'和'end',它们包含时间戳 . 当管理员输入这些日期时,他们只能设置日,月,年 . 所以我们只处理包含天,月,年,而不是小时,分钟,秒(小时,分钟和秒设置为0,0,0)的邮票 .
我有一个事件,开始时间为1262304000,结束时间为1262908800.这些转换为2010年1月1日和2010年1月8日 . 我如何获得这些时间戳之间的所有日期?我希望能够返回2010年1月2日(1262390400),2010年1月3日(1262476800)..一直到结束邮票 . 这些事件可以跨越到不同月份,例如5月28日至6月14日 .
任何想法如何做到这一点?
8 回答
您只需计算两个日期之间的秒数,然后除以得到天数:
然后,您可以使用for循环来检索日期:
同样,如果您不知道哪个时间戳是最小的,则可以使用min()函数(strtotime中的第二个参数) .
我认为快速解决此问题的方法是从end_stamp中减去几天的秒数,直到你到达start_tag .
我会 Build 一个日后使用的数组 .
编辑(示例)
这应该涵盖任何时间范围,即使它超过一个月 .
试试这个:
希望这可以帮助 !
http://www.plus2net.com/php_tutorial/date-diff.php
http://www.phpf1.com/tutorial/php-date-difference.html
像这样的东西?
顺便说一句,1262304000是12月31日,而不是1月1日 .
得到两个日期的差异并除以86400.abs(($ date1 - $ date2)/ 86400)将产生所需的结果
请注意
range()
函数包含在内 .