在Java中,可以使用java.time
包中的Instant
类和LocalDateTime
类来实现时间戳与日期时间的转换。以下是一些示例代码:
LocalDateTime
对象:import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneId;
public class TimestampToDateTime {
public static void main(String[] args) {
long timestamp = 1633072800L; // 示例时间戳(单位:秒)
LocalDateTime dateTime = LocalDateTime.ofInstant(Instant.ofEpochSecond(timestamp), ZoneId.systemDefault());
System.out.println("LocalDateTime: " + dateTime);
}
}
LocalDateTime
对象转换为时间戳:import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.ZonedDateTime;
public class DateTimeToTimestamp {
public static void main(String[] args) {
LocalDateTime dateTime = LocalDateTime.of(2021, 10, 1, 0, 0); // 示例日期时间
ZonedDateTime zonedDateTime = dateTime.atZone(ZoneId.systemDefault());
long timestamp = zonedDateTime.toInstant().toEpochSecond();
System.out.println("Timestamp: " + timestamp);
}
}
请注意,这些示例中的时间戳是以秒为单位的。如果您的数据是以毫秒为单位的,您需要相应地调整代码。例如,将Instant.ofEpochSecond(timestamp)
替换为Instant.ofEpochMilli(timestamp)
。