如果unix时间戳是从当前日期起21天到49天之间,我必须尝试一下。任何人都可以帮我解决这个问题吗?谢谢!unix时间戳之间的时差
回答
欢迎来到SO!
这应做到:
if (($timestamp > time() + 1814400) && ($timestamp < time() + 4233600)) {
// date is between 21 and 49 days in the FUTURE
}
这可以简化,但我想你想看到一个更详细的例子:)
我从21*24*60*60
1814400
和4233600
从41*24*60*60
。
编辑:我假设未来日期。另请注意time()
返回秒(而不是毫秒)自PHP中的Epoch以来。
这是你如何做到这一点的过去(因为你修改你的问题):
if (($timestamp > time() - 4233600) && ($timestamp < time() - 1814400)) {
// date is between 21 and 49 days in the PAST
}
谢谢大卫,完美!这是过去21至49天,所以我只是修改你的片段 – pauld78 2010-06-27 18:34:28
是的,我也修正了它:p – 2010-06-27 18:35:50
请注意,由于夏令时等原因,有些日子比24小时更短/更长,计算不稳定。我通常避免对这种原始时间戳进行计算,而是使用内置函数进行日期操作。 – 2010-06-27 21:27:24
的PHP5 DateTime类非常适合这些类型的任务。
$current = new DateTime();
$comparator = new DateTime($unixTimestamp);
$boundary1 = new DateTime();
$boundary2 = new DateTime();
$boundary1->modify('-49 day'); // 49 days in the past
$boundary2->modify('-21 day'); // 21 days in the past
if ($comparator > $boundary1 && $comparator < $boundary2) {
// given timestamp is between 49 and 21 days from now
}
对象矫枉过正> _ < – 2010-06-27 18:41:03
strtotime
在这些情况下非常有用,因为您几乎可以说出自然的英语。
$ts; // timestamp to check
$d21 = strtotime('-21 days');
$d49 = strtotime('-49 days');
if ($d21 > $ts && $ts > $d49) {
echo "Your timestamp ", $ts, " is between 21 and 49 days from now.";
}
尽管在这个例子中它可能是微不足道的,PHP 5.2.13源代码中的time()函数是一行C代码,而strtotime()函数大约是55行,并且调用了很多外部代码。如果特别在循环中使用它,则time()将是要走的路。 – TomWilsonFL 2010-06-27 19:23:58
的确如此。但是,如果您只需要设置一次时间戳,那么考虑提高可读性时,它不会太昂贵。 – 2010-06-27 19:37:40
+1使用内置函数来说明与语言环境相关的日期问题。 – 2010-06-27 21:28:55
- 1. 如何计算unix时间戳之间的时间差?
- 2. 当前时间戳与之前时间戳之间的差异
- 3. 时差阵列时间戳之间
- 4. 选择两行中两个unix时间戳之间的差异
- 5. 差异PHP和Java的Unix时间戳
- 6. INSERT EPOCH和UNIX时间戳之间
- 7. Unix时间戳到LDAP时间戳
- 8. Unix时间戳到FAT时间戳
- 9. 时间戳:iso8601 vs unix时间戳
- 10. 时间戳。两次之间的差异
- 11. 2时间戳之间的差异 - PHP
- 12. 2个时间戳之间的差异
- 13. 计算差异之间的两个时间戳并获得Unix时间戳差异
- 14. 当前时间和时间戳+毫秒之间的时差
- 15. 计算unix时间戳之间的平均时间
- 16. PHP Unix时间戳
- 17. PHP UNIX时间戳
- 18. Unix时间戳的时间转换
- 19. 从Unix时间戳组的时间槽
- 20. 即时到Unix时间戳
- 21. UNIX时间戳小时前
- 22. 如何找到两个时间戳之间的时间差?
- 23. 2个时间戳之间的日期和时间差异?
- 24. R中相邻时间戳之间的时间差
- 25. 转换Unix时间戳STR和STR到UNIX时间戳在python
- 26. php时间戳之间的时差(小时)
- 27. C#:Unix时间戳和日期时间
- 28. Unix时间戳到.net日期时间
- 29. Unix时间戳和JavaScript时间;太大!
- 30. Javascript:未来时间为UNIX时间戳
从当前日期的哪个方向开始21到49天?过去还是未来? – 2010-06-27 18:27:52
对不起,忘了提及那个关键的细节!在过去 – pauld78 2010-06-27 18:32:11