24小时格式为12小时格式 [英] 24-hour format to 12-hour format

查看:177
本文介绍了24小时格式为12小时格式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个24小时的格式转换到12小时格式的问题。这是我的code。

I have problem with converting 24-hour format to 12 hour format. This is my code.

    private TimePickerDialog.OnTimeSetListener mTimeSetListener =
        new TimePickerDialog.OnTimeSetListener() {

            @Override
            public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
                // TODO Auto-generated method stub
                ViewGroup vg=(ViewGroup) view.getChildAt(0);
                hour = hourOfDay;
                minutes = minute;
                String am_pm = (hourOfDay < 12) ? "AM" : "PM";
                SimpleDateFormat sdf = new SimpleDateFormat("hh:mm a",Locale.US);
                String tme = hour +":"+ minutes+am_pm;
                et1.setText(tme);
            }
        };

我转向从警告对话框timepicker对话框,因为我不知道该怎么24小时改为12小时格式

I shift to timepicker dialog from alert dialog because i don't know how to change 24-hour to 12-hour format

et1.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                new TimePickerDialog(MainActivity.this, mTimeSetListener, hour, minutes, false).show();
            }
        });

    }  

这是我已经把布尔IM pression假证明。

This is the proof that i already turn the boolean impression to false.

推荐答案

试试这个 -

private TimePickerDialog.OnTimeSetListener mTimeSetListener =
new TimePickerDialog.OnTimeSetListener() {

    @Override
    public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
        // TODO Auto-generated method stub
        hour = hourOfDay;
        minutes = minute;
        String timeSet = "";
        if (hours > 12) {
        hour -= 12;
        timeSet = "PM";
        } else if (hours == 0) {
        hour += 12;
        timeSet = "AM";
        } else if (hours == 12)
        timeSet = "PM";
        else
        timeSet = "AM";

        String min = "";
        if (minutes < 10)
        min = "0" + minutes ;
        else
        min = String.valueOf(minutes);

        // Append in a StringBuilder
        String aTime = new StringBuilder().append(hours).append(':')
        .append(min ).append(" ").append(timeSet).toString();
        et1.setText(aTime);
    }
};

这篇关于24小时格式为12小时格式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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