1

こんにちはAndroidで24時間から12時間に変換したいと思います。時間は、タイムピッカーダイアログでのユーザー入力から取得され、テキストビューに表示されます。ユーザーがピッカーダイアログのPMボタンをクリックすると、それがテキストビューに自動的に表示されます。たとえば、ユーザーが3:00 AMをクリックすると、テキストビューに3:00 AMと表示され、別のユーザーが3:00 PMをクリックすると、テキストビューに15:00ではなく3:00PMと表示されます。何か助けてください?

以下のコードを確認してください。

            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

           String getWT = wakingtime.getText().toString();
           wakingtime.setText( new StringBuilder().append( pad( hour ))
                    .append( ":" ).append( pad( minute ))); 


            // 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 );

フォーマットが表示されない場合は、ご容赦ください。

4

3 に答える 3

6

これを変更します。

    wakingtime.setText( new StringBuilder().append( pad( hour ))
                        .append( ":" ).append( pad( minute ))); 

これで:

StringBuilder sb = new StringBuilder();
if(hour>=12){                      
    sb.append(hour-12).append( ":" ).append(minute).append(" PM");
}else{
    sb.append(hour).append( ":" ).append(minute).append(" AM");
}
wakingtime.setText(sb);
于 2012-11-05T16:52:33.203 に答える
0

あなたが使用することができます

String s;
if(hour>=12){                      
     s=String.formate((hour-12)+":"+minute+"PM");
 }else{
      s=String.formate(hour+":"+minute+"AM");
 }

 txtview.setText(s);
于 2012-11-05T17:46:08.423 に答える