Java 如何在getter方法中将日期对象转换为LocalDateTime?
我有一个Date类型的字段,有没有办法在它的getter方法中将它转换成LocalDateTime? 到目前为止我所知道的是Java 如何在getter方法中将日期对象转换为LocalDateTime?,java,java-8,getter-setter,Java,Java 8,Getter Setter,我有一个Date类型的字段,有没有办法在它的getter方法中将它转换成LocalDateTime? 到目前为止我所知道的是 private Date date; public getDate(){ return date == null ? null : LocalDateTime.of(date) } 但是它似乎不起作用。你可以做下面这样的事情 LocalDateTime getLocalDateTime(Date date){ return date == null ?
private Date date;
public getDate(){
return date == null ? null : LocalDateTime.of(date) }
但是它似乎不起作用。你可以做下面这样的事情
LocalDateTime getLocalDateTime(Date date){
return date == null ? null : date.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
}
你可以像下面这样做
LocalDateTime getLocalDateTime(Date date){
return date == null ? null : date.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
}
这回答了你的问题吗?创建遵循Java语法的东西将是一个很好的开始。您没有定义方法的返回类型,结尾缺少分号……并且您可能应该定义“它似乎不起作用”在您的情况下的含义,而不是非编译代码。
Date
表示一个瞬间。要将其转换为LocalDateTime
,您需要指定时区。这是否回答了您的问题?创建遵循Java语法的东西将是一个很好的开始。您没有定义方法的返回类型,结尾缺少分号……并且您可能应该定义“它似乎不起作用”在您的情况下的含义,而不是非编译代码。Date
表示一个瞬间。要将其转换为LocalDateTime
,需要指定时区。