如何在java中使用AM / PM获取时间戳

时间:2013-08-19 18:18:30

标签: java datetime

我的日期为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

请帮助我。

4 个答案:

答案 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操作中遇到错误,请将该错误与您正在使用的代码一起发布。