有没有一种简单的方法将LocalDate(用Java 8引入)转换为java.util.Date对象?
通过'简单',我的意思是比这更简单:
Date date = Date.from(localDate.atStartOfDay(ZoneId.systemDefault()).toInstant());
Run Code Online (Sandbox Code Playgroud)
这对我来说似乎有点尴尬.
由于我们只对日期部分感兴趣,并且两个对象中都没有时区信息,为什么要明确引入时区?应该隐式采用午夜时间和系统默认时区进行转换.
在Java 8中,如何将Timestamp(in java.sql)转换为LocalDate(in java.time)?
什么是之间进行转换的正确方法java.sql.Date和LocalDate(Java8)?
我正在编写一些代码,用随机数据填充MySQL数据库以进行测试.我需要在DATE1970-2015之间填充一个随机日期的列.
这是相关的方法:
public Date dateGenerator() throws Exception {
Random ry = new Random();
Random rm = new Random();
Random rd = new Random();
int year = 1969 + ry.nextInt(2015-1969+1);
int month = 1 + rm.nextInt(12);
int day = 1 + rm.nextInt(31);
if (month==2 && day>28){
day = day - 3;
} else {
if((month%2==0 && month != 8 ) && day==31 ){
day = day -1;
}
}
}
Run Code Online (Sandbox Code Playgroud)
我的目的是创建三个随机整数(日,月,年),并以某种方式将它们组合成一些Date对象以传递给数据库.但数据库拒绝我尝试提供的所有内容.
如果可以的话,如果你可以向我提供基于最新java.time图书馆的建议,那将对我很有教育意义.