首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法从getDateTime()从DateTimePicker

无法从getDateTime()从DateTimePicker
EN

Stack Overflow用户
提问于 2013-04-27 14:01:25
回答 2查看 179关注 0票数 1

我使用DateTimePicker选择日期和时间,当我按下ok按钮时,使用getDateTime()获取日期时间,并将其分配给Calender对象(selectedDate)。我想以格式显示时间(星期五,4月27日,06:00:00 )。

所以我用下面的代码来格式化。

代码语言:javascript
复制
selectedDate = datePicker.getDateTime();

SimpleDateFormat sdf = new SimpleDateFormat("EEE   MMM  dd hh:mm:ss aa");
timeField.setText(sdf.formatLocal(selectedDate.get(Calendar.MILLISECOND)));

不知道是解析错误还是DateTimePicker返回错误的时间,但是显示的文本为任何日期时间选择是

清华一月一日05:00:00

由于我必须针对大多数设备,我的应用程序针对OS5和测试模拟器9550。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-27 21:22:01

问题是您正在检索--只是当前日期的MILLISECOND字段的值,而不是整个日期。你可能想要毫秒精度,但这段代码

代码语言:javascript
复制
selectedDate.get(Calendar.MILLISECOND)

就是简单的从当前日期/时间提取毫秒字段。这只是上一秒钟以来的毫秒数。类似于

代码语言:javascript
复制
selectedDate.get(Calendar.MONTH);

今天只会返回4(或者可能返回3,我不记得它是否基于0)。

你应该用

代码语言:javascript
复制
timeField.setText(sdf.formatLocal(selectedDate.getTime().getTime()));
票数 4
EN

Stack Overflow用户

发布于 2013-04-27 14:38:06

很难理解您的问题,因为您没有告诉我们发生了什么您不期望和/或收到的任何错误消息;而且,我在任何地方都找不到formatLocal()作为一个方法。

我确实注意到,您似乎正在传递日期的一部分,即毫秒。如果要将日期表示为毫秒,则该方法为Date.getTime()。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16252979

复制
相关文章

相似问题

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