首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SimpleDateFormat验证

SimpleDateFormat验证
EN

Stack Overflow用户
提问于 2013-07-21 15:30:03
回答 2查看 271关注 0票数 0

我正在尝试使用简单的日期格式验证日期,以便可以将其放入MySQL数据库中

代码语言:javascript
复制
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-mm-dd");
sdf.setLenient(false);
java.util.Date testDate = sdf.parse("2011-13-05");
System.out.println(testDate);

给出输出,Wed Jan 05 00: 13 :00 GMT-06:00 2011谁能解释为什么日期被转换成时间,从而防止检测到无效的13个月?java.util.date是否有date对象而不是datetime对象?我的代码的修改版本将会非常有帮助。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-07-21 15:30:55

你应该使用MM一个月。mm是针对的。

代码语言:javascript
复制
new SimpleDateFormat("yyyy-MM-dd");
票数 4
EN

Stack Overflow用户

发布于 2013-07-21 15:31:40

谁能解释为什么日期被转换为时间,从而阻止检测到无效的月份13?

因为您的模式指定分钟而不是月。您想要MM而不是mm。每当您有一个SimpleDateFormat没有按照您期望的方式运行时,您应该根据文档检查您的模式。

java.util.date有date对象而不是datetime对象吗?

不,但Joda Time有(LocalDate)。Joda Time是一种更清晰的日期/时间API,它有助于区分不同的概念:

  • Instant (只是一个时间点-没有时区或calendar)
  • DateTime (带有时区的日期和时间)和calendar)
  • LocalDate (只是特定calendar)
  • LocalTime中的日期(只是特定calendar)
  • LocalDateTime中的一天中的时间(特定日历中的日期和时间))

在应用编程接口方面有一些粗糙的边缘,但它通常比java.util.Datejava.util.Calendar好得多。将在Java8中提供的JSR-310 API与两者都不同,但主要是由Joda Time的领导者之一开发的,因此概念上有很多重叠。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17770060

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档