2012-12-15 62 views
0

我不知道有什么错我下面的代码:Android的日期/时间显示为0,而不是12

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

     // For alternative times 
     c.add(Calendar.HOUR, SUB_SIX_HOUR); 
     c.add(Calendar.MINUTE, SUB_FLAT_MINUTE); 

     hour = c.get(Calendar.HOUR); 
     minute = c.get(Calendar.MINUTE); 
     hour = c.get(Calendar.HOUR_OF_DAY); 

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


     alternative.setText("Alternative times: " + sb3 + " (9 hours)" + sb4 + " (6 hours)"); 

请帮我找出如何显示的0 12,而不是当计算出的时间是午夜12:00。谢谢!

回答

3
hour = c.get(Calendar.HOUR); 
minute = c.get(Calendar.MINUTE); 
hour = c.get(Calendar.HOUR_OF_DAY); 

您在设置后再次设置hour

+0

如果我没有记错的话,我将它设置为AM/PM –

+0

@absk哎问题再一次,当我点击下午12:00它显示晚上零点,如何将其更改为12:00 PM?谢谢 –

-1

用此检查AM或PM。

c.get(Calendar.AM_PM); 

看到这里的文档Calendar.AM_PM

相关问题