首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在不丢失日期部分的情况下将时间解析为日历

在不丢失日期部分的情况下将时间解析为日历
EN

Stack Overflow用户
提问于 2015-06-04 13:58:07
回答 1查看 555关注 0票数 0

我需要在Calendar Java对象中存储一个日期/时间,该日期/时间由今天的日期加上从HH:mm:ss格式的字符串解析而来的时间组成。

我尝试创建一个新的解析,并使用setTime()使用调用SimpleDateFormatGregorianCalendar ()方法的结果对其进行初始化,但随后我注意到parse()返回给我一个Date对象,该对象具有正确的解析时间,但日期为1970年1月1日。

例如:

代码语言:javascript
复制
String time = "23:32";
String timeFmt = new SimpleDateFormat("HH:mm");
Calendar todaysTime = new GregorianCalendar();

todaysTime.setTime(timeFmt.parse(time));
System.out.println(todaysTime.getTime());

我所期望的是:Wed 03 11:32:00 CST 2015Thu Jan 01 11:32:00 CST 1970

我只能看到一种选择:创建第二个带有todays日期的GregorianCalendar,然后通过setYear()setMonth()setDayOfMonth()手动将年、月和日设置到todaysTime中,但我希望有一种更优雅的方法来做到这一点。

你能帮我找到一种更好的方法来解析解析成Date对象的时间部分而不丢失日期部分吗?

EN

回答 1

Stack Overflow用户

发布于 2015-06-04 14:02:50

你可以这样做:

代码语言:javascript
复制
Date parsedDate = SimpleDateFormat.getInstance().parse(time);
Calendar instance = Calendar.getInstance();
instance.setTime( parsedDate );

Calendar result = Calendar.getInstance();
result.set( Calendar.HOUR_OF_DAY, instance.get( Calendar.HOUR_OF_DAY ) );
result.set( Calendar.MINUTE, instance.get( Calendar.MINUTE ) );
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30636017

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档