在java程序中获取指定时间戳对应的日期的零点和24点
时间: 2024-03-20 16:44:14 浏览: 88
java 获取指定日期(带毫秒)13位时间戳
好的,您可以使用 Java 中的 `java.util.Date` 和 `java.util.Calendar` 类来获取指定时间戳对应的日期的零点和24点的时间戳(假设指定时间戳为 `timestamp`)。以下是获取过程的代码示例:
```java
import java.util.Calendar;
import java.util.Date;
public class Main {
public static void main(String[] args) {
// 将时间戳转换为日期对象
Date date = new Date(timestamp * 1000L);
// 获取 Calendar 实例并设置日期时间
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
// 获取零点和24点的时间戳
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
long zeroTimestamp = calendar.getTimeInMillis() / 1000;
calendar.set(Calendar.HOUR_OF_DAY, 23);
calendar.set(Calendar.MINUTE, 59);
calendar.set(Calendar.SECOND, 59);
long twentyFourTimestamp = calendar.getTimeInMillis() / 1000;
System.out.println(zeroTimestamp + ", " + twentyFourTimestamp);
}
}
```
其中,`new Date(timestamp * 1000L)` 将时间戳转换为日期对象(需要将时间戳乘以 1000 转换为毫秒级别),`Calendar.getInstance()` 获取 Calendar 实例,`.set()` 方法设置日期时间字段,`.getTimeInMillis()` 获取日期时间对应的毫秒数(需要将其除以 1000 转换为秒级别)。
请注意,以上代码中使用的是 Java 8 或以上版本的 `java.util.Date` 类。如果使用 Java 7 或以下版本,建议使用 Joda-Time 或者其他时间日期库。
阅读全文