6

我有一个日期作为 String ,需要使用 AM/PM 将其转换为时间戳。我尝试了以下方式,我得到了正确的日期格式,但没有进入 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

4 回答 4

3

为什么要创建时间戳?当你可以:

            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
于 2013-08-19T18:23:36.667 回答
1

Try:

System.out.println(sfdate.format(date));

As your last line rather than the one that you have at current.

于 2013-08-19T18:21:01.320 回答
0

你看到的是结果Timestamp.toString()。Timestamp 对象实例中的实际是有效的。

如果您在后续 SQL 操作中遇到错误,请将该错误与您正在使用的代码一起发布。

于 2013-08-19T18:34:26.037 回答
0

Timestamp.toString()打印为特定格式:yyyy-mm-dd hh:mm:ss.fffffffff. Timestamp 对象本身应该是正确的,如果这就是您要查找的全部内容。

然后,如果您想定义另一种格式以便根据需要进行打印,则需要您格式化Date对象,使用适合您正在寻找的输出格式的模式。

于 2013-08-19T18:32:01.430 回答