我想使用Java 8从字符串转换为日期。
我可以轻松地使用SimpleDateFormat和进行yyyy-MM-dd格式转换
String startDate2="2017-03-24";
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");
System.out.println(new java.sql.Date(sdf1.parse(startDate2).getTime()));
Run Code Online (Sandbox Code Playgroud)
输出: 2017-03-24
String startDate2="2017-03-24";
SimpleDateFormat sdf1 = new SimpleDateFormat("uuuu-MM-dd");
System.out.println(new java.sql.Date(sdf1.parse(startDate2).getTime()));
Run Code Online (Sandbox Code Playgroud)
但是当我用'uuuu-MM-dd'代替'yyyy-MM-dd'
输出:(
1970-03-24错误)
现在在Java 8中:
String startDate1="2017-03-23";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("uuuu-MM-dd");
Run Code Online (Sandbox Code Playgroud)
但是我不知道如何获取与上述正确输出相同的sql date类型的日期。
java.sql.Date有一个valueOf采用Java 8 的静态方法,LocalDate因此您可以执行以下操作:
String startDate1 = "2017-03-23";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("uuuu-MM-dd");
LocalDate date = LocalDate.parse(startDate1, formatter);
java.sql.Date sqlDate = java.sql.Date.valueOf(date);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3976 次 |
| 最近记录: |