2010-02-24 11 views
6

मुझे दिनांक वस्तु में क्षेत्र AM/PM प्राप्त करने की आवश्यकता है। मैं इसे कैसे प्राप्त कर सकता हूँ?जावा तारीख दिनांक मार्कर फ़ील्ड (am/pm)

यह मेरा कोड है।

String startTime ="01:05 PM"; 
SimpleDateFormat sdf = new SimpleDateFormat("hh:mm aa"); 

Date st = sdf.parse(startTime); 

उत्तर

27

आप Calendar का उपयोग कर सकते हैं।

Calendar cal = Calendar.getInstance(); 
cal.setTime(st); 
if (cal.get(Calendar.AM_PM) == Calendar.PM) { 
    ... 
} 

सुनिश्चित करें कि आपके पास ऐसा करने पर समय क्षेत्र विसंगति नहीं है।

+0

उत्तर के लिए धन्यवाद। – Srinivasan

+0

@cletus hi क्या आप अपना कोड अपडेट करेंगे ?? क्योंकि अब यह एंड्रॉइड स्टूडियो में त्रुटि देता है। –

4

कैलेंडर शायद सबसे अच्छा है, लेकिन आप DateFormat भी इस्तेमाल कर सकते हैं:

String amPm = new SimpleDateFormat("aa").format(time); 

समयक्षेत्र चेतावनी भी यहाँ लागू होता है।

2

इस

SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd_HH_mm_ss_aa"); 
    Calendar cal = Calendar.getInstance(); 
    Log.d("Time", ""+dateFormat.format(cal.getTime())); 
    int day = Calendar.getInstance().get(Calendar.DAY_OF_WEEK); 
    System.out.println("time => " + namesOfDays[day-1]+"_"+dateFormat.format(cal.getTime())); 
1

उपयोग करने का प्रयास करें यह ..

String getTime(String milliseconds) { 

    String time = ""; 
    Calendar cal = Calendar.getInstance(); 
    cal.setTimeInMillis(Long.parseLong(milliseconds)); 

    time = cal.get(Calendar.HOUR) + " : " + cal.get(Calendar.MINUTE); 

    if(cal.get(Calendar.AM_PM)==0) 
     time=time+" AM"; 
    else 
     time=time+" PM"; 

    return time; 

} 
0

Calendar भी

Calendar cal = Calendar.getInstance(); 
cal.setTime(st); 
String meridiem = cal.getDisplayName(Calendar.AM_PM, Calendar.SHORT, Locale.getDefault()) 

meridiem अब बराबर होती है "PM" अपने कोड के आधार पर कर सकते हैं।

संबंधित मुद्दे