使用SimpleDateFormat进行日期格式转换时遇到的问题

最近写代码的时候,使用了SimpleDateFormat对Date进行格式转换,刚开始我是这样写的:

SimpleDateFormat sdf = new SimpleDateFormat("HH:MM:SS");

这样写乍一看似乎没有什么毛病,但是实质上隐藏了很大的问题。仔细看一看构造参数中的"HH:MM:SS",当时我并不知道H、M、S的大小写分别代表了不同的意思,所以导致时间格式并没有转换成我想要的格式。

以下是JDK1.8文档中的日期格式说明:

使用H代表时间是按照24小时制进行转换的,使用h代表时间是按照12小时制进行转换的;M代表月份,m代表分钟;S代表秒,而s代表毫秒。

我本来是想将时间转换成时分秒,但是按照"HH:MM:SS"进行时间格式转换时,实质上是转换成了时、月、毫秒,所以我转换出来的秒是三位数,如下图所示:

而正是因为秒位是三位数,所以导致我的数据格式校验一直不通过,程序一直报错。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值