我需要获得自定义小时的实际日期,因此我创建了此代码:
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();
我希望它有效,但似乎有点复杂。
还有其他方法如何使用自定义小时获取日期?
答案 0 :(得分: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);
Joda Time有一个多比java.util.{Date, Calendar}
答案 1 :(得分:0)
Calendar cal = Calendar.getInstance();
cal.set(Calendar.HOUR_OF_DAY, 1);
cal.set(Calendar.MINUTE, 0);
cal.getTime()
答案 2 :(得分:0)
怎么样:
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, your_custom_hour);
your_custom_hour : 0-23
答案 3 :(得分:0)
除了使用Joda时间,我会稍微清洁一下:
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())
。