给定一个转换为 26.05.2011 08:00:01 的任何 unix 时间戳(即 1306396801),我如何确定这是否在给定的时间范围内(即 08:00:00 和 16:00:00)?
这需要在任何一天工作。我只想知道这个时间戳是否在给定的时间间隔内,在任何未来(或过去)的任何一天,日期都不重要。我不在乎是 25 号还是 26 号,只要是在 08:00 到 16:00 之间。
我正在寻找一个 java 解决方案,但任何有效的伪代码都可以,我只会转换它。
到目前为止,我的尝试一直是将其转换为 Java 日历,并读出小时/分钟/秒值并进行比较,但这只是打开了一大堆蠕虫。如果我想要的时间间隔是 16.30,我不能只检查 tsHour > frameStartHour && tsMin > frameStartMin,因为这将丢弃任何具有一分钟部分 > 30 的时间戳。
谢谢你看这个:)
澄清。我只使用和指的是 UTC 时间,我的时间戳是 UTC,我想要的范围是 UTC。
我想我明白你想要什么。你想测试任何一天,如果它是在 8 点到下午 4 点 UTC 之间。取时间戳 mod 24*3600。这将为您提供一天中经过的秒数。然后你只需比较它在8 * 3600和16 * 3600之间。如果您需要处理时区,事情会变得更加复杂。
| 归档时间: |
|
| 查看次数: |
3734 次 |
| 最近记录: |