java - 如何判断一个时间戳是否在工作时间内?

标签 java timestamp

给定转换为 26.05.2011 08:00:01 的任何 unix 时间戳(即 1306396801),我如何确定这是否在给定时间范围内(即 08:00:00 和 16:00:00)?

这需要适用于任何一天。我只想知道这个时间戳是否在给定的时间间隔内,在任何 future (或过去)的日子里,日期并不重要。我不在乎是25日还是26日,只要是08:00到16:00之间即可。

我正在寻找 Java 解决方案,但任何有效的伪代码都可以,我只是转换它。

到目前为止,我一直在尝试将其转换为 Java 日历,并读取小时/分钟/秒值并进行比较,但这只是打开了一大堆蠕虫。如果我想要的时间间隔是 16.30,我不能只检查 tsHour > frameStartHour && tsMin > frameStartMin,因为这将丢弃任何分钟部分 > 30 的时间戳。

谢谢你看这个:)

澄清一下。 我只使用和引用 UTC 时间,我的时间戳是 UTC,我想要的范围是 UTC。

最佳答案

我想我明白你想要什么。您想测试任何一天,如果是在 UTC 上午 8 点到下午 4 点之间。取时间戳 mod 24*3600。这将为您提供当天经过的秒数。那你就比较它在8*3600和16*3600之间。如果您需要处理时区,事情就会变得更加复杂。

关于java - 如何判断一个时间戳是否在工作时间内?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6163391/

相关文章:

java - 当 Artifact 不存在时 Maven 的可选依赖项

java - 没有找到这样的 bean 定义?

c++ - 自动更改 C++11 中的含义;请删除它这是什么意思?

batch-file - 批处理 - 以秒为单位的文件上次修改时间

iOS 日期转换器返回正确的日期

java - 在 closeablehttpclient 中使用 keepalive

java - init.gradle 从命令行读取属性

java - 使用Gson在Android中@SerializedName注解的基本目的是什么

c - 为什么我在获取时间戳时得到负值?

apache-spark - PySpark数据帧将异常的字符串格式转换为时间戳