Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/207.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android时间0:00 pm应改为显示12:00 pm_Java_Android_Date_Time - Fatal编程技术网

Java Android时间0:00 pm应改为显示12:00 pm

Java Android时间0:00 pm应改为显示12:00 pm,java,android,date,time,Java,Android,Date,Time,可能重复: 下面是我使用的代码: public void onTimeSet( TimePicker view, int selectedHour, int selectedMinute ) { // Gets current time Calendar c = Calendar.getInstance(); hour = selectedHour; minute = selectedMinute;

可能重复:

下面是我使用的代码:

public void onTimeSet( TimePicker view, int selectedHour,
            int selectedMinute ) {
        // Gets current time
        Calendar c = Calendar.getInstance();

        hour = selectedHour;
        minute = selectedMinute;

        // set waking time into textview
        StringBuilder sb = new StringBuilder();
        if( hour >= 12 ){                      
          sb.append(hour-12).append( ":" ).append(pad(minute)).append(" PM");
        }else if( hour == 0 ){
            sb.append( "12" ).append( ":" ).append( pad(minute) ).append( " AM" );
        } else if( hour == 24 ){
            sb.append(hour+24).append( ":" ).append( pad(minute) ).append( " PM" );
        }

        else{
          sb.append(hour).append( ":" ).append(pad(minute)).append(" AM");
        }

        // Assign hour set in the picker
        c.set( Calendar.HOUR, selectedHour );
        c.set( Calendar.MINUTE, selectedMinute );

        // Have Calendar calculate the substraction of hours and minutes
        c.add( Calendar.HOUR, SUB_HOUR );
        c.add( Calendar.MINUTE, SUB_MINUTE );

        // Get the hour and the minute calculated
        hour = c.get( Calendar.HOUR );
        minute = c.get( Calendar.MINUTE );
        //hour = c.get( Calendar.HOUR_OF_DAY );

        StringBuilder sb2 = new StringBuilder();
        if(hour>=12){                      
          sb2.append(hour-12).append( ":" ).append(pad(minute)).append(" PM");
        }else if(hour == 0){
          sb2.append( "12" ).append( ":" ).append(pad(minute)).append( " AM" );
        }
        else{
          sb2.append(hour).append( ":" ).append(pad(minute)).append(" AM");
        }

        // set current time into textview
        answer.setText( "To wake up at " + sb + ", you must go to bed at " + sb2 );

在我的第一个StringBuilder中,当用户选择12:00 pm时,它显示在0:00 pm而不是12:00 pm,我该怎么做?提前感谢。

建议的副本并不能真正回答问题。在构建字符串之前,您需要以下内容

hour = hour % 12
if(hour == 0)
    hour = 12;
__

更新: 在计算模量之前,请执行以下操作:

// set this variable so it will be in scope

boolean morning = true
//then
if (hour >=12 && hour <  24) morning = false;
else morning = true; 
//设置此变量,使其在作用域中
布尔值=真
//然后
如果(小时>=12&&hour<24)晨=假;
否则早晨=真;

并在stringbuilder中使用该布尔值,建议的副本并不能真正回答问题。在构建字符串之前,您需要以下内容

hour = hour % 12
if(hour == 0)
    hour = 12;
__

更新: 在计算模量之前,请执行以下操作:

// set this variable so it will be in scope

boolean morning = true
//then
if (hour >=12 && hour <  24) morning = false;
else morning = true; 
//设置此变量,使其在作用域中
布尔值=真
//然后
如果(小时>=12&&hour<24)晨=假;
否则早晨=真;

并在stringbuilder中使用该布尔值?将24小时时间显示为12小时或其他内容?将24小时时间显示为12小时
%12
如果(小时==0)小时=12@anthropomo你说的%12是什么意思?谢谢,这是12。给出x/12的余数。所以23%12=11。看看我的答案。你在干什么?将24小时时间显示为12小时或其他内容?将24小时时间显示为12小时
%12
如果(小时==0)小时=12@anthropomo你说的%12是什么意思?谢谢,这是12。给出x/12的余数。所以23%12=11。看到我的答案了。嗨,我试过你的代码,但是当我点击PM按钮时,它显示的是12:00 AM?仍然收到相同的错误。但现在很奇怪,我选择了12:00 AM,它没有显示在AMHi中。我尝试了你的代码,但当我单击PM按钮时,它显示的是12:00 AM?仍然得到相同的错误。但现在很奇怪,我选择了12:00 AM,它没有显示在AM中