在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)
。