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'
如果我想打印像这样的时间戳模式,我该怎么办
请有人帮助我
答案 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
不是线程安全的。