如何在 TimePickerDialog 中设置 AM/PM? [英] how to set AM/PM in TimePickerDialog?

查看:44
本文介绍了如何在 TimePickerDialog 中设置 AM/PM?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我创建了简单的 TimePickerDialog 它们完全可以工作,但是如果我在时间选择器中设置了当前时间,那么设置 AM 和 PM 就会出现问题.

I have create simple TimePickerDialog they are perfectly work but if i have set current time in time picker then problem to set AM and PM.

让我们看看....

如果当前时间是:下午 5:39

这是我的代码..

Calendar cal = Calendar.getInstance();
int mHour = cal.get(Calendar.HOUR_OF_DAY);
int mMinute = cal.get(Calendar.MINUTE);
int mTimeSet=cal.get(Calendar.AM_PM);
TimePickerDialog tpd = new TimePickerDialog(this,new TimePickerDialog.OnTimeSetListener()
        {
                    @Override
                    public void onTimeSet(TimePicker view, int hours,int minute)
                    {
                        String timeSet = "";
                        if (hours > 12) {
                            hours -= 12;
                            timeSet = "PM";
                        } else if (hours == 0) {
                            hours += 12;
                            timeSet = "AM";
                        } else if (hours == 12)
                            timeSet = "PM";
                        else
                            timeSet = "AM";
                        
                        String minutes="";
                        if (minute < 10)
                            minutes = "0" + minute;
                        else
                            minutes = String.valueOf(minute);
                        textView.setText(hours + ":" + minutes + " " + timeSet);
                    }
                }, mHour, mMinute,false);

        tpd.show();

结果

但是如何在时间选择器对话框中设置 PM?请任何解决方案

But how to set PM in time picker dialog? please any solution

推荐答案

public void onTimeSet(TimePicker view, int hourOfDay, int minute) 
{
String am_pm = "";
Calendar datetime = Calendar.getInstance();
datetime.set(Calendar.HOUR_OF_DAY, hourOfDay);
datetime.set(Calendar.MINUTE, minute);

if (datetime.get(Calendar.AM_PM) == Calendar.AM)
    am_pm = "AM";
else if (datetime.get(Calendar.AM_PM) == Calendar.PM)
    am_pm = "PM";
String strHrsToShow = (datetime.get(Calendar.HOUR) == 0) ?"12":datetime.get(Calendar.HOUR)+""; 

((Button)getActivity().findViewById(R.id.btnEventStartTime)).setText(
   strHrsToShow+":"+datetime.get(Calendar.MINUTE)+" "+am_pm );
 }

TimePickerDialog 和 AM 或 PM

这篇关于如何在 TimePickerDialog 中设置 AM/PM?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆