时间戳模式

TimeStamp patten

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'

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

有人可以帮我吗

您可以使用 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());

我输入了“0"s after SSS because the time you get is in miliseconds and it doesn't make any sense to have more than three "S”,但这是必需的。

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

如果您强烈坚持特定的输出格式 (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不是线程安全的。