我想将 java.time.LocalDate
转换为 java.util.Date
类型。因为我想将日期设置为 JDateChooser
。或者是否有任何日期选择器支持 java.time
日期?
原文由 Kavinda Gehan 发布,翻译遵循 CC BY-SA 4.0 许可协议
我想将 java.time.LocalDate
转换为 java.util.Date
类型。因为我想将日期设置为 JDateChooser
。或者是否有任何日期选择器支持 java.time
日期?
原文由 Kavinda Gehan 发布,翻译遵循 CC BY-SA 4.0 许可协议
这是我用来将较新的 java.time
类转换为 java.util.Date
对象的实用程序类,反之亦然:
import java.time.Instant;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.Date;
public class DateUtils {
public static Date asDate(LocalDate localDate) {
return Date.from(localDate.atStartOfDay().atZone(ZoneId.systemDefault()).toInstant());
}
public static Date asDate(LocalDateTime localDateTime) {
return Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant());
}
public static LocalDate asLocalDate(Date date) {
return Instant.ofEpochMilli(date.getTime()).atZone(ZoneId.systemDefault()).toLocalDate();
}
public static LocalDateTime asLocalDateTime(Date date) {
return Instant.ofEpochMilli(date.getTime()).atZone(ZoneId.systemDefault()).toLocalDateTime();
}
}
根据@Oliv 评论编辑。
原文由 Brice Roncace 发布,翻译遵循 CC BY-SA 3.0 许可协议
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4k 阅读✓ 已解决
3 回答6k 阅读
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
假设您的日期选择器使用系统默认时区将日期转换为字符串。