java.util.Date d=new java.util.Date();
System.out.println("date="+d);
输出是:
周六05月09日2点48分42秒CDT 2015年
它没有毫秒...
ps可以说如果使用Date
代替ConcurrentLinkedHashMap<Date,String>
(wiki link),我可以看到的最小日期值是第二:(
编辑:
public class HashMapTest0 {
private ConcurrentMap<Date,Date> values=new ConcurrentLinkedHashMap.Builder<Date, Date>()
.maximumWeightedCapacity(1000)
.build();
public static void main(String [] args){new HashMapTest0();}
HashMapTest0(){
for(int i=0; i<10; i++){
Date d=new Date();
values.put(d, d);
try {
Thread.sleep(10);
} catch (InterruptedException ex) {
ex.printStackTrace();
}
}
for(Date d:values.values()){
String s=new SimpleDateFormat("dd-MM-yyyy:HH:mm:ss.sss").format(d)
.replaceAll("-", "_")
.replaceAll(":", "_");
System.out.println(s);
}
}
}
输出也许是这样的:
09_05_2015_04_07_10.010
09_05_2015_04_07_10.010
09_05_2015_04_07_10.010
09_05_2015_04_07_10.010
09_05_2015_04_07_10.010
09_05_2015_04_07_10.010
09_05_2015_04_07_10.010
09_05_2015_04_07_10.010
09_05_2015_04_07_10.010
09_05_2015_04_07_10.010
所以我的问题是如何产生的日期实时毫秒,还是有一个更优化的方式?
'DateFormatter'? –
我不喜欢DateFormatter返回字符串:(我想要有可比较的接口支持 – user390525
这就是你使用'日期'等。Java 8有'java.time' API。 –