[英]get next day java.sql.Date
我有一個Date對象( java.sql.Date
)。 我需要在那天晚上12點。 所以我可以創建一個從當前時間到當天結束的時間段。
如何使用java.sql.Date
計算時間。 請給我一個例子。
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());
理想的情況下,使用約達時間是一個更好的日期和時間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 now = new java.sql.Date( new java.util.Date().getTime() );
java.sql.Date tomorrow= new java.sql.Date( now.getTime() + 24*60*60*1000);
這可能不是最好的方式,但恕我直言,它相對容易理解。 它為輸入日期“now”創建一個新的午夜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 );
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.