为了账号安全,请及时绑定邮箱和手机立即绑定

使用SimpleDateFormat 字符串转日期 如何保证健壮性?

使用SimpleDateFormat 字符串转日期 如何保证健壮性?

噜噜哒 2019-02-25 14:34:20
使用SimpleDateFormat时如果所匹配的表达式不对那么就会抛出异常. 比如这样是正确的: String date = "2012-2-3"; SimpleDateFormat simple = new SimpleDateFormat("yyyy-MM-dd"); try { System.out.println(simple.parse(date)); 这样是失败的: String date = "2012-2-3"; SimpleDateFormat simple = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); try { System.out.println(simple.parse(date)); 但是有时候传来的是yyyy-MM-dd HH:mm:ss这种时间格式有时候传来的是yyyy-MM-dd这种时间格式我并不能事先知道传来的是哪种格式如何让第二种依然能够解析出来,后续的时分秒会被初始化 00:00:00
查看完整描述

6 回答

?
梦里花落0921

TA贡献1772条经验 获得超6个赞

这个只能预先初始化好,可以做个map,同时还建议考虑并非情况下,SimpleDateFormat没记错的话好像是线程不安全的

查看完整回答
反对 回复 2019-03-01
?
喵喔喔

TA贡献1735条经验 获得超5个赞

我并不能事先知道传来的是哪种格式

那你必须知道,要么就按照其他人回答的那样猜(当然会猜错)。

查看完整回答
反对 回复 2019-03-01
?
慕尼黑5688855

TA贡献1848条经验 获得超2个赞

输入类型从String转成时间类型,比如Date

查看完整回答
反对 回复 2019-03-01
?
RISEBY

TA贡献1856条经验 获得超5个赞

可以参考下JAVA8的对于时间和日期的api处理 . 即可以兼容也能解决线程不安全的问题 .

查看完整回答
反对 回复 2019-03-01
  • 6 回答
  • 0 关注
  • 455 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信