LocalDateTime 怎么获取时间戳
时间: 2024-03-22 14:34:47 浏览: 15
LocalDateTime类是Java 8中的一个日期时间类,它表示了一个不可变的日期时间对象,不包含时区信息。要获取LocalDateTime对象的时间戳,可以使用以下方法:
1. 使用toEpochSecond()方法:该方法返回从1970年1月1日00:00:00开始计算的秒数。示例代码如下:
```java
LocalDateTime localDateTime = LocalDateTime.now();
long timestamp = localDateTime.toEpochSecond(ZoneOffset.UTC);
```
2. 使用toInstant()方法:该方法将LocalDateTime对象转换为Instant对象,然后可以通过Instant对象获取时间戳。示例代码如下:
```java
LocalDateTime localDateTime = LocalDateTime.now();
Instant instant = localDateTime.toInstant(ZoneOffset.UTC);
long timestamp = instant.toEpochMilli();
```
注意:以上示例代码中的ZoneOffset.UTC表示使用协调世界时(UTC)作为时区,你也可以根据需要选择其他时区。
相关问题
LocalDateTime 获取时间戳
以下是Java8中使用LocalDateTime获取时间戳的方法:
1. 获取毫秒级时间戳
```java
LocalDateTime localDateTime = LocalDateTime.now();long milliSecond = localDateTime.toInstant(ZoneOffset.of("+8")).toEpochMilli();
System.out.println("毫秒级时间戳:" + milliSecond);
```
2. 获取秒级时间戳
```java
LocalDateTime localDateTime = LocalDateTime.now();
long second = localDateTime.toEpochSecond(ZoneOffset.of("+8"));
System.out.println("秒级时间戳:" + second);
```
3. LocalDateTime与String互转
```java
// LocalDateTime转String
LocalDateTime localDateTime = LocalDateTime.now();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String str = localDateTime.format(formatter);System.out.println("LocalDateTime转String:" + str);
// String转LocalDateTime
String str2 = "2021-08-31 15:30:00";
LocalDateTime localDateTime2 = LocalDateTime.parse(str2, formatter);
System.out.println("String转LocalDateTime:" + localDateTime2);
```
4. Date与LocalDateTime互转
```java
// LocalDateTime转Date
LocalDateTime localDateTime = LocalDateTime.now();
ZoneId zoneId = ZoneId.systemDefault();
Instant instant = localDateTime.atZone(zoneId).toInstant();
Date date = Date.from(instant);
System.out.println("LocalDateTime转Date:" + date);
// Date转LocalDateTime
Date date2 = new Date();
Instant instant2 = date2.toInstant();
ZoneId zoneId2 = ZoneId.systemDefault();
LocalDateTime localDateTime2 = instant2.atZone(zoneId2).toLocalDateTime();
System.out.println("Date转LocalDateTime:" + localDateTime2);
```
localdatetime获取时间戳
可以使用`LocalDateTime`类的`toEpochSecond()`方法来获取时间戳。
下面是一个示例代码:
```java
import java.time.LocalDateTime;
public class Main {
public static void main(String[] args) {
LocalDateTime now = LocalDateTime.now();
long timestamp = now.toEpochSecond(java.time.ZoneOffset.UTC);
System.out.println(timestamp);
}
}
```
这段代码会输出当前时间的时间戳。你可以根据需要调整时区或格式来获取特定时间的时间戳。