【发布时间】:2014-12-16 10:32:30
【问题描述】:
我需要创建一个自定义 Date 对象。我得到一个 24 小时格式的用户输入,例如 hh:mm 即 17:49 小时。 我想将小时和分钟分别设置为 17 和 49,根据当前时间保留其他详细信息,例如月、年、日。例如,如果今天是 2014 年 12 月 16 日,时间是 16:00,那么我想要一个日期对象为 2014 年 12 月 16 日,时间为 17:49。我知道我可以使用已弃用的 api 来做到这一点,但是我不想使用它们。我需要 date 对象,因为我需要将它传递给 java timer,因为 java timer 不支持任何日历对象。
用户输入以字符串形式出现,我可以使用new SimpleDateFormat(HH:mm) 构造函数解析该字符串。
我尝试使用 Calendar.set api,但没有成功。
有人可以就如何进行操作给出一些指导吗?
PS。抱歉,我不能使用 Joda 时间 :)
【问题讨论】:
-
您为什么愿意冒险创建自定义日期对象,却不愿意使用Joda-Time?使用 Joda-Time,您可以使用一行经过良好测试和陈旧的代码:
Date date = DateTime.now( DateTimeZone.forID( "America/Montreal" ) ).withTime( 17, 49, 0, 0 ).toDate(); -
@Basil Bourque.. Joda time 是我的首选。但是我没有使用它的特权。我们致力于产品开发,不鼓励使用任何第三方 API。
标签: java date timer calendar simpledateformat