Java 如何在不设置格式的情况下从字符串中获取日期?
我有一个Java 如何在不设置格式的情况下从字符串中获取日期?,java,android,date,date-parsing,java.util.date,Java,Android,Date,Date Parsing,Java.util.date,我有一个 String s = "2020-02-22"`; 我想把它改成Date,这样我就可以把它存储在我的数据库中,它有一个列,除了Date,它什么都不接受 我尝试使用LocalDate类,但它在API26中。 任何帮助都将不胜感激。假设您从数据库中获取日期并将其传递给以下方法: 公共字符串格式日期(日期){ SimpleDataFormat ff=新的SimpleDataFormat(“yyyy-MM-dd”); 返回ff.格式(日期); } 编辑:根据来自的输入,
String s = "2020-02-22"`;
我想把它改成Date
,这样我就可以把它存储在我的数据库中,它有一个列,除了Date
,它什么都不接受
我尝试使用LocalDate
类,但它在API26中。
任何帮助都将不胜感激。假设您从数据库中获取日期并将其传递给以下方法:
公共字符串格式日期(日期){
SimpleDataFormat ff=新的SimpleDataFormat(“yyyy-MM-dd”);
返回ff.格式(日期);
}
编辑:根据来自的输入,您可以尝试使用Java 8+功能,而无需最低API级别。这将允许使用LocalDate
而不是旧的java.util.Date
类。
使用LocalDate
可以将截止日期的字符串解析为:
public LocalDate getDate(String dateString){
返回LocalDate.parse(日期字符串);
}
你试过java.util.Date吗?@GauthamM是的,我试过simpleDateFormat,但它是格式化的日期,但我希望我的日期和字符串一样,你是说你希望数据库中的日期也以yyyy-MM-dd
格式存储吗?@GauthamM否,我希望它像字符串“2020-02-22”一样存储myPreparedStatement.setObject(…,LocalDate.parse(“2020-02-22”)代码>仅供参考:这些可怕的类在几年前被JSR310中定义的现代java.time类所取代。建议在2021年使用这些遗留类是一个糟糕的建议。@BasilBourque是的,但从问题来看,似乎正在使用旧版本。最新的Android工具通过“API desugaring”将大部分java.time功能带到旧版本的Android上。@BasilBourque根据评论更新了答案