我有一个Date对象(java.sql.Date).我需要在那天晚上12点.所以我可以创建一个从当前时间到当天结束的时间段.
我该怎么计算时间java.sql.Date.请给我一个例子.
Jar*_*zki 10
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());
Run Code Online (Sandbox Code Playgroud)
理想的情况下,使用约达时间是一个多更好的日期和时间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());
Run Code Online (Sandbox Code Playgroud)
请注意,这假设UTC无处不在......而我怀疑你想要午夜当地时间,在这种情况下你需要指定时区.另请注意,由于夏令时,所有时区的每天都不会出现午夜 - 上面的代码会为您提供当天的开始.
小智 5
使用以下代码:
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);
Run Code Online (Sandbox Code Playgroud)