仅使用标准的java 1.5调用,我正在寻找一种简洁而简单的方法来获取特定时间的Java Date对象,比如将来的上午10:30发生.这通常是明天上午10:30,但如果当前时间是早上8点,可能是今天上午10:30.
效率只是次要或第三方关注的问题.
看起来必须有一种更优雅的方式,而不是手动构建Calendar对象并在单独的方法调用中设置每个字段.
使用SimpleDateFormat可以很好地使用像"HH:mm"这样的格式字符串,但我没有看到一种聪明的方法让它适应下一个未来的上午10:30,而不仅仅是今天上午10:30.另外,那些try/catch块有点俗气.
真的没有简单的一两行表达方式吗?
标准API中没有convienence方法,您需要一个类似的序列
Calendar cal = Calendar.getInstance();
Date today = cal.getTime();
cal.set(Calendar.HOUR, 10);
cal.set(Calendar.MINUTE,30);
cal.set(Calendar.SECOND,0);
cal.set(Calendar.AM_PM, Calendar.AM);
Date next = cal.getTime();
if (today.after(next)) {
cal.add(Calendar.DAY_OF_MONTH, 1);
}
System.out.println(cal.getTime());
Run Code Online (Sandbox Code Playgroud)
你应该把它放到一个实用程序类中.
| 归档时间: |
|
| 查看次数: |
247 次 |
| 最近记录: |