TimeStamp模式

时间:2015-01-06 11:51:25

标签: java sql

Calendar firstTime =Calendar.getInstance();

java.sql.Timestamp t1=new Timestamp(firstTime.getTime().getTime());

它正在给出这样的当前时间

`2015-01-06 17:19:20.763`  

但我想要时间戳模式如下

'06-DEC-15 17:19:20.763000000 PM'

如果我想打印像这样的时间戳模式,我该怎么办

请有人帮助我

2 个答案:

答案 0 :(得分:3)

您可以使用SimpleDateFormat:

        Calendar firstTime = Calendar.getInstance();
        SimpleDateFormat df = new SimpleDateFormat();
        df.applyPattern("dd-MMM-yy HH:mm:ss.SSS000000 aa");

        System.out.println(df.format(firstTime.getTimeInMillis()).toUpperCase());

我已经在SSS之后放了#34; 0" s因为你得到的时间是几毫秒而且没有任何意义可以超过三个" S" s但是这是要求。

toUpperCase是另一个要求(" Jan"还不够)。

答案 1 :(得分:1)

如果你强烈坚持特定的输出格式(1:1),你应该另外使用DateFormatSymbols

    final DateFormatSymbols dfs = new DateFormatSymbols();
    dfs.setShortMonths(new String[]{
        "JAN", "FEB", "MAR", "APR", "MAY", "JUN",
        "JUL", "AUG", "SEP", "OCT", "NOV", "DEC"});
    final DateFormat df = new SimpleDateFormat("dd-MMM-yy HH:mm:ss.SSS000000 a", dfs);
    System.out.println(df.format(new Timestamp(System.currentTimeMillis())));

请记住,DateFormat 是线程安全的。