我有一個用於生成隨機日期字符串的代碼。但是我發現,當我生成一個隨機時間戳時,它包含一些精度小數點到秒字段。我的SimpleDateFormat如何不包含這樣的精度值,有沒有人知道這裏有什麼問題,以及如何刪除或控制精度值?隨機時間戳的控制時間戳精度
代碼
long rangeBegin = Timestamp.valueOf("2015-01-01 00:00:00").getTime();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date currentDate = new Date();
String currentDateString = simpleDateFormat.format(currentDate);
long rangeEnd = Timestamp.valueOf(currentDateString).getTime();
long diff = rangeEnd - rangeBegin + 1;
Timestamp randomTimestamp = new Timestamp(rangeBegin + (long)(Math.random() * diff));
樣本輸出
randomTimestamp = 2015年2月20日2點36分〇〇秒。
由於
編輯:
String randomTimestampString = String.valueOf(randomTimestamp).split("\\.")[0];
納秒有什麼不對呢? – 2015-03-02 08:59:37
請參閱輸出結尾有一個十進制.646,我不期待這個 – 2015-03-02 09:00:24