2013-03-21 56 views
0

我需要讓我創建這個代碼,以獲得實際日期自定義時間:如何獲得自定義小時的當前日期?

Calendar calendar = Calendar.getInstance(); 
calendar.setTime(new Date()); 

Calendar output = Calendar.getInstance(); 
output.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DATE), 1, 0); 
output.getTime(); 

我希望它的工作原理,但它似乎是一個利特爾有點複雜。

是否有其他方式如何與自定義小時取得日期?

回答

3

是否有其他方式如何與自定義小時取得日期?

個人而言,我會使用Joda Time代替:

// Ideally use an injectable clock... 
LocalDate today = new LocalDate(); 
// If this is effectively constant, extract it to a final static field 
LocalTime time = new LocalTime(1, 0); 

// Or use toDateTime(...) depending on what you're trying to accomplish 
LocalDateTime todayAtTime = today.toLocalDateTime(time); 

約達時間有很大愉快API超過java.util.{Date, Calendar}

+0

thx很多你有一些語法錯誤,但它的作品。 – hudi 2013-03-21 16:34:14

+1

@hudi:嗯,我有一個變量名的拼寫錯誤。不是真的語法錯誤......無論如何,修復。 – 2013-03-21 16:37:44

0
Calendar cal = Calendar.getInstance(); 
cal.set(Calendar.HOUR_OF_DAY, 1); 
cal.set(Calendar.MINUTE, 0); 
cal.getTime() 
0

你看這個:

Calendar calendar = Calendar.getInstance(); 
calendar.set(Calendar.HOUR_OF_DAY, your_custom_hour); 
your_custom_hour : 0-23 
0

除了使用喬達時間我會做到這一點稍微乾淨:

int hour = 1; 
Calendar cal = Calendar.getInstance(); 
cal.set(Calendar.HOUR, hour); 
cal.set(Calendar.MINUTE, 0); 
cal.set(Calendar.SECOND, 0); 
cal.set(Calendar.MILLISECOND, 0); 

Calendar.getInstance()返回當前的日期和時間,反正這麼setTime(new Date())是不必要的。

+0

日曆傢伙按照精度順序發佈,他們重置! :-) – James 2013-03-21 15:52:23