2010-04-09 8 views
9

मैं एक समय पिकर का उपयोग करता है और निम्नलिखित कोड का उपयोग कर पाठ ध्यान में रखते हुए समय को प्रदर्शित करने का समय हो रही है में प्रारूप में समय ...AM/PM एंड्रॉयड

private TimePickerDialog.OnTimeSetListener mTimeSetListener = new TimePickerDialog.OnTimeSetListener() { 
    public void onTimeSet(TimePicker view, int hourOfDay, int minute) { 
     Toast.makeText(SendMail.this, "Your Appointment time is "+hourOfDay+":"+minute, Toast.LENGTH_SHORT).show(); 
     TextView datehid = (TextView)findViewById(R.id.timehidden); 
     datehid.setText(String.valueOf(hourOfDay)+ ":"+(String.valueOf(minute))); 
    } 
}; 

अब प्रदर्शित, मुद्दा है जब मैं समय 8:00 बजे के रूप में सेट करें तो मुझे 20: 0 के रूप में प्रदर्शित समय मिलता है ... मैं समय 8:00 बजे प्रदर्शित करना चाहता हूं ... मैं यह कैसे कर सकता हूं ???

+1

बहुत से लोग अपने प्रश्नों का उत्तर है, तो आप सिर्फ जवाब नहीं है, जवाब के रूप में नहीं निशान है। यह आपकी मदद करने के लिए थोड़ा प्रेरणा छोड़ देता है। – synic

+1

इसके अलावा, आपके बहुत सारे प्रश्न वास्तव में उत्तर दिए गए हैं, लेकिन फिर आप टिप्पणियों में अधिक प्रश्न पूछने के लिए आगे बढ़ते हैं, और फिर भी प्रश्न को अनुत्तरित के रूप में छोड़ देते हैं। आपको उन्हें उत्तर के रूप में चिह्नित करना चाहिए, और फिर एक नया प्रश्न पूछना चाहिए। – synic

+0

मैं स्टैक ओवरफ़्लो के लिए अभी भी एक नौसिखिया हूँ। अब से मैं आपके सुझाव ले जाऊंगा और तदनुसार करूँगा .. आपके मूल्यवान सुझावों के लिए धन्यवाद ... –

उत्तर

16

मैंने इसे प्राप्त करने के लिए ऐसा किया है।

private TimePickerDialog.OnTimeSetListener mTimeSetListener = new TimePickerDialog.OnTimeSetListener() { 
    public void onTimeSet(TimePicker view, int hourOfDay, int minute) { 
     TextView datehid = (TextView)findViewById(R.id.timehidden); 
     if(hourOfDay>12) { 
      datehid.setText(String.valueOf(hourOfDay-12)+ ":"+(String.valueOf(minute)+"pm")); 
     } else if(hourOfDay==12) { 
      datehid.setText("12"+ ":"+(String.valueOf(minute)+"pm")); 
     } else if(hourOfDay<12) { 
      if(hourOfDay!=0) { 
       datehid.setText(String.valueOf(hourOfDay) + ":" + (String.valueOf(minute) + "am")); 
      } else { 
       datehid.setText("12" + ":" + (String.valueOf(minute) + "am")); 
      } 
     } 
    } 
};  
+0

+1 और धन्यवाद, आपका विचार मेरे लिए काम करता है। –

31
private String getReminingTime() { 
    String delegate = "hh:mm aaa"; 
    return (String) DateFormat.format(delegate,Calendar.getInstance().getTime()); 
} 
+0

मेरे लिए काम किया, बहुत आसान तरीका –

+0

आवश्यकतानुसार काम किया, धन्यवाद –

+0

क्या यह 'एमएम/पीएम' भी देता है? ऐसा लगता है कि यह – eRaisedToX

2

मैंने इसे प्राप्त करने के लिए ऐसा किया है।

TimePickerDialog.OnTimeSetListener t = new TimePickerDialog.OnTimeSetListener() { 
    public void onTimeSet(TimePicker view, int hourOfDay, int minute) { 
     myCalendar.set(Calendar.HOUR_OF_DAY, hourOfDay); 
     myCalendar.set(Calendar.MINUTE, minute); 
     update_From_Time(); 
    } 
}; 

DateFormat frmTime=DateFormat.getTimeInstance(); 
protected void update_From_Time() { 
    s = frmTime.format(myCalendar.getTime()); 
    btnFromTime.setText(s); 
} 
+0

यह एकदम सही है ... –

0

यह मेरे लिए काम किया:

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); 
} 
1
int am_pm=mycalendar.get(Calendar.AM_PM); 
String amOrpm=((am_pm==Calendar.AM)?"am":"pm"); 

लेकिन जैसे प्रति मेरी राय simpleDateFormat इस तरह सबसे अच्छा उपयोग, होगा:

final Calendar c = Calendar.getInstance(TimeZone.getTimeZone("America/Chicago")); 
SimpleDateFormat format = new SimpleDateFormat("h:mm a"); 
format.setTimeZone(c.getTimeZone()); 
String myFormatted time = format.format(c.getTime()); 

यह द्वारा कैलेंडर के रूप में बेहतर है डिफ़ॉल्ट 12 बजे के लिए 00 वापस आ जाएगा, जो आप नहीं चाहते हैं।

5
SimpleDateFormat df = new SimpleDateFormat("HH:mm:ss a"); 
String currentTime = df.format(currnetDateTime.getTime()); 
+1

प्रवीण के कोड में 'currnetDateTime' क्या है, यह अनुमान लगाने वाले किसी भी व्यक्ति के लिए;), यह' कैलेंडर currnetDateTime = Calendar.getInstance(); 'और फिर' SimpleDateFormat df = नया SimpleDateFormat ("एचएच: मिमी: एसएस ए"); स्ट्रिंग वर्तमान समय = df.format (currnetDateTime.getTime()); ' – eRaisedToX

1
Calendar now = Calendar.getInstance(); 
if(now.get(Calendar.AM_PM) == Calendar.AM){ 
    // AM 
    System.out.println(""+now.get(Calendar.HOUR)+":AM"); 
}else{ 
    // PM 
    System.out.println(""+now.get(Calendar.HOUR)+":PM"); 
}