mysql插入的時間莫名的加一秒


1、問題描述

   我獲取當天最大的時間:結果是當天的23:59:59秒

 

1 public static Date getDateWithMaxTime(Date date) {
2         Calendar calendar = Calendar.getInstance();
3         calendar.setTime(date);
4         calendar.set(Calendar.HOUR_OF_DAY, 23);
5         calendar.set(Calendar.MINUTE, 59);
6         calendar.set(Calendar.SECOND, 59);
7         return calendar.getTime();
8     }

但是插入數據庫的時間多了1秒鍾,變成第二天的00:00:00

2、解決辦法

我把最后一位毫秒變為0 了,mysql(有些版本的)會對插入的時間的毫秒值大於500的進位操作,所以在此地設置毫秒值為0.

1 public static Date getDateWithMaxTime(Date date) {
2         Calendar calendar = Calendar.getInstance();
3         calendar.setTime(date);
4         calendar.set(Calendar.HOUR_OF_DAY, 23);
5         calendar.set(Calendar.MINUTE, 59);
6         calendar.set(Calendar.SECOND, 59);
7         calendar.set(Calendar.MILLISECOND,0);   //增加毫秒設置為0
8         return calendar.getTime();
9     }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM