我有一個Date對象(java.sql.Date
)。我需要在當天晚上得到12。所以我可以創建一個從當前時間到一天結束的時間段。獲得第二天java.sql.Date
我該如何用java.sql.Date
來計算那段時間。請給我一個例子。
我有一個Date對象(java.sql.Date
)。我需要在當天晚上得到12。所以我可以創建一個從當前時間到一天結束的時間段。獲得第二天java.sql.Date
我該如何用java.sql.Date
來計算那段時間。請給我一個例子。
理想情況下,使用Joda Time這是一個多更好的日期和時間API比在Java中。
java.sql.Date sqlDate = ...;
LocalDate date = new LocalDate(sqlDate.getTime(), DateTimeZone.UTC);
LocalDate tomorrow = date.plusDays(1);
DateTime startOfDay = tomorrow.toDateTimeAtStartOfDay(DateTimeZone.UTC);
java.sql.Date sqlTomorrow = new java.sql.Date(startOfDay.getMillis());
注意,這個假設UTC無處不在......而我懷疑你想午夜當地時間在這種情況下你需要指定的時區。另外請注意,由於夏令時間的原因,午夜並不總是在所有時區的每一天發生 - 上面的代碼將爲您提供一天的開始。
java.sql.Date sqlDate = ...;
Calendar cal = Calendar.getInstance();
cal.setTime(sqlDate);
cal.add(Calendar.DAY_OF_YEAR,1);
cal.set(Calendar.HOUR_OF_DAY, 0);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND, 0);
java.sql.Date sqlTommorow = new java.sql.Date(cal.getTimeInMillis());
這可能不是最好的方式,但恕我直言,這是比較容易理解。 它的輸入日期創建一個新的午夜java.sql.Date對象「現在」
String DATE_FORMAT = "dd.MM.yyyy";
//create a date sql.Date object
java.sql.Date now = new java.sql.Date(new java.util.Date().getTime());
//create a date formatter
SimpleDateFormat sf = new SimpleDateFormat(DATE_FORMAT);
//get the midnight date by converting the object to a String and back to a Date object
java.util.Date midnightUtil = sf.parse(sf.format(now));
//create a new java.sql.Date object and add one days worth of milliseconds;
java.sql.Date midnight = new java.sql.Date(midnightUtil.getTime() + 86400000);
使用下面的代碼:
java.sql.Date now = new java.sql.Date(new java.util.Date().getTime());
java.sql.Date tomorrow= new java.sql.Date(now.getTime() + 24*60*60*1000);
你嘗試過與我能幫你什麼嗎?使用谷歌來獲得例子 – Amanpreet