java解析字符串到日期对象更改值
为了将时间格式(从HH:mm:ss
更改为HH:mm
),我使用了以下代码段
Date dateObj = new SimpleDateFormat("HH:mm:ss").parse(time);
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("HH:mm");
String time = simpleDateFormat.format(dateObj);
当我在正确的时间进行测试时,它可以正确地更改格式
但是,当我用错误的时间进行测试时,它不仅改变了格式,而且也改变了时间本身
比如说,
1:70:00
=>02:10
(转换后)27:00:00
=>03:00
(转换后)
我只想更改格式,而不是同时更改格式和值
有什么办法吗
# 1 楼答案
输出
和导入库:
参考:joda-timehttp://joda-time.sourceforge.net
# 2 楼答案
将1:70:00转换为日期对象时,您希望看到什么?日期只能保存有效值,1:70:00无效
这是预期的结果。如果您需要一些不同的行为,那么您应该编写自己的格式化程序,将字符串转换为字符串
# 3 楼答案
当你解析一个像“1:70”这样的时间字符串时,Java计算出标准时间为“2:10”。 由于您不希望重新计算此类时间,只需使用以下格式重新格式化:
最好使用字符串操作。例如: