我的日期为String,需要使用AM / PM转换为时间戳。我尝试了以下方式,我得到了正确的日期格式,但没有进入上午/下午。
任何人都可以帮忙吗?
代码段:
String dateString = "10/10/2010 11:23:29 AM";
SimpleDateFormat sfdate = new SimpleDateFormat("MM/dd/yyy HH:mm:ss a");
Date date = new Date();
date = sfdate.parse(dateString);
System.out.println(new Timestamp(date.getTime()));
这给我输出如下:
2010-10-10 11:23:29.0
但我需要这样做
2010-10-10 11:23:29.00000000 AM
请帮助我。
答案 0 :(得分:2)
为什么要创建时间戳?什么时候可以:
SimpleDateFormat sfdate = new SimpleDateFormat("MM/dd/yyy HH:mm:ss a");
Date date = new Date();
date = sfdate.parse(dateString);
System.out.println(sfdate.format(date) );
输出:
10/10/10 11:23:29 AM
答案 1 :(得分:1)
尝试:
System.out.println(sfdate.format(date));
作为你的最后一行,而不是当前的那一行。
答案 2 :(得分:0)
Timestamp.toString()
以特定格式打印:yyyy-mm-dd hh:mm:ss.fffffffff
。如果您正在寻找的话,那么Timestamp对象本身应该是正确的。
如果您想要定义另一种格式以便根据需要进行打印,则需要使用适合您正在寻找的输出格式的模式格式化Date
对象。
答案 3 :(得分:0)
您所看到的是Timestamp.toString()
的结果。 Timestamp对象实例中的实际值有效。
如果您在后续SQL操作中遇到错误,请将该错误与您正在使用的代码一起发布。