嗨,我有一个简单的日期格式
new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
它格式化日期
2014-04-23 13:15:59.390
是否可以删除尾随0,除非它的数字不是0?
2014-04-23 13:15:59.39
好的,我发现了我的问题
new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
给了我想要的东西,问题是我将它与来自数据库的日期字符串进行比较。
数据库从timeamp列中读取它,其中包含正确的值,但我用
读取它resultSet.getString(i)
由于某种原因它削减了最后一位数......所以我的问题应该是,为什么resultSet.getString在读取日期字段时会删除最后一个字符?
答案 0 :(得分:2)
使用String方法修剪尾随零:
new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS").format(date).replaceAll("0$", "");
最多修剪2个尾随零:
new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS").format(date).replaceAll("0?0$", "");
答案 1 :(得分:2)
在结果字符串上,执行replaceFirst("[0]*$", "")
例如:
new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS").format(new Date()).replaceFirst("[0]*$", "")
答案 2 :(得分:0)
这可能是您遇到的特定于语言环境的问题。试试这个:
new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS", Locale.ENGLISH);