首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在TimePicker中设置AM/PM?

如何在TimePicker中设置AM/PM?
EN

Stack Overflow用户
提问于 2012-07-08 17:18:19
回答 5查看 22.3K关注 0票数 26

我在我的应用中使用了TimePicker。每当用户使用TimePicker打开屏幕时,我都会用当前时间初始化它。执行此操作时,TimePicker显示的是AM而不是PM这一切为什么要发生?我需要在我的代码中添加什么吗?

代码语言:javascript
复制
Date initDate = m_NoteManageObject.getDateTimeArray(position);
Calendar myCal = Calendar.getInstance();

myCal.setTime(initDate);
TimePicker timePicker  = (TimePicker)layout.findViewById(R.id.time_picker);

// Initialise Time Picker

timePicker.setCurrentHour(myCal.get(Calendar.HOUR));
timePicker.setCurrentMinute(myCal.get(Calendar.MINUTE));
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-07-08 18:38:48

您将不得不使用Calendar.HOUR_OF_DAY而不是Calendar.HOUR

也就是说,timePicker.setCurrentHour()总是希望参数采用24小时格式。不幸的是,API文档中没有正确地记录这一事实。

票数 50
EN

Stack Overflow用户

发布于 2017-06-28 15:31:37

代码语言:javascript
复制
public void onTimeSet(TimePickerDialog view, int hourOfDay, int minute) {
    if(hourOfDay>=0 && hourOfDay<12){
        time = hourOfDay + " : " + minute + " AM";
    } else {
        if(hourOfDay == 12){
            time = hourOfDay + " : " + minute + "PM";
        } else{
            hourOfDay = hourOfDay -12;
            time = hourOfDay + " : " + minute + "PM";
        }
    }

    deliveryTime.setText(time);
}
票数 4
EN

Stack Overflow用户

发布于 2012-07-08 17:23:40

我认为你必须重写计时器的onTimeSet()方法。检查此链接

TimePickerDialog and AM or PM

愿它能帮助你..

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

https://stackoverflow.com/questions/11381985

复制
相关文章

相似问题

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