无法将 java.sql.Timestamp(yyyy-MM-dd HH:mm:ss.S) 正确格式化为字符串
Cannot correctly format a java.sql.Timestamp(yyyy-MM-dd HH:mm:ss.S) to string
我尝试格式化
date = 2015-05-07 10:12:14.000243
至
等效字符串:
new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S").format(date);
但我得到错误的值:
2015-05-07 10:12:14.0
你能帮帮我吗?
谢谢。
如果您想获得准确的日期,您需要适当数量的毫秒数字(您刚刚使用了 1 - S)。
6位毫秒:
new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSSSSS").format(date);
对于新日期,输出将是:
2015-05-18 12:17:56.000501
阅读更多关于SimpleDateFormat's Date and Time pattern
评论更新:
如果你的约会确实如描述的那样,我提供的答案应该有效。正如 Jesper 在评论中提到的
Beware that not all databases store dates with millisecond precision
下面我使用您提供的确切日期创建了一个新的 Date 对象。
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSSSSS");
Date date1 = sdf.parse("2015-05-07 10:12:14.000243");
当您打印出该值时,您将按照您想要的方式获得它:
sdf.format(date1);
我尝试格式化
date = 2015-05-07 10:12:14.000243
至 等效字符串:
new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S").format(date);
但我得到错误的值:
2015-05-07 10:12:14.0
你能帮帮我吗? 谢谢。
如果您想获得准确的日期,您需要适当数量的毫秒数字(您刚刚使用了 1 - S)。
6位毫秒:
new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSSSSS").format(date);
对于新日期,输出将是:
2015-05-18 12:17:56.000501
阅读更多关于SimpleDateFormat's Date and Time pattern
评论更新:
如果你的约会确实如描述的那样,我提供的答案应该有效。正如 Jesper 在评论中提到的
Beware that not all databases store dates with millisecond precision
下面我使用您提供的确切日期创建了一个新的 Date 对象。
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSSSSS");
Date date1 = sdf.parse("2015-05-07 10:12:14.000243");
当您打印出该值时,您将按照您想要的方式获得它:
sdf.format(date1);