2011-10-05 35 views
5
 Calendar calendar = Calendar.getInstance(); 
    calendar.set(calendar.HOUR, 8); 
    calendar.set(calendar.MINUTE, 45); 
    calendar.set(calendar.SECOND, 00); 

    Date d = calendar.getTime(); 

    System.out.println(d); 

आउटपुट है: बुध अक्टू 05 20:45:00 BST 2011दिनांक डी = कैलेंडर.getटाइम() गलत समय देता है?

किसी को भी मुझे ऐसा क्यों है के साथ मदद कर सकते हैं?

+0

क्या आप उत्पादन होने की उम्मीद करते हैं। – Raedwald

उत्तर

9

Calendar.HOUR का उपयोग 12 घंटे की घड़ी पर सेट के रूप में सेट करने के लिए किया जाता है।

दूसरे शब्दों में, आप Calendar से 20:45 सेट करें। यह 8:45 पीएम है।

उपयोग Calendar.HOUR_OF_DAY 24 घंटे घड़ी मान सेट करने के।

9

निश्चित रूप से - आप Calendar.HOUR सेट कर रहे हैं जो 1-12 "आधा दिन का प्रतिनिधित्व करता है"। आप HOUR_OF_DAY जो पूरे दिन के लिए 0-23 मूल्य है का उपयोग करना चाहिए:

calendar.set(Calendar.HOUR_OF_DAY, 8); 

वैकल्पिक रूप से, Joda Time का उपयोग जो एक बहुत अच्छे दिनांक/समय एपीआई :)

एक अलग रूप में के रूप में, है कृपया संदर्भ के माध्यम से स्थिर सदस्यों का उल्लेख नहीं है ... यह दर्द को बढ़ावा मिलेगा जब आप someOtherThread.sleep(...) फोन और अपने वर्तमान धागा सोता है ...

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