2012-03-12 10 views
5

प्राप्त कर सकते हैं। मैंने ग्रेगोरियन कैलेंडर के बारे में जावा एपीआई पर एक नज़र डाली थी और इसके कन्स्ट्रक्टर में am/pm को सेट करने का कोई तरीका नहीं देखा। क्या आप एएम/पीएम को ग्रेगोरियन कैलेंडर तिथि में सेट कर सकते हैं या यह ऐसा कुछ है जिसे आप कैलेंडर पर प्राप्त विधि का उपयोग कर सकते हैं। क्या यह सब स्वचालित रूप से संभालता है। मैं am/pm लेने और इसे एक कक्षा के लिए अपने toString में आउटपुट करना चाहता हूं जिसमें डेट ऑब्जेक्ट है। मैं इसे प्राप्त करने के लिए कैलेंडर पर प्राप्त विधि का उपयोग करने जा रहा था। मैं समझता हूं कि am/pm एक int है जो 0 या 1.क्या आप ग्रेगोरियन कैलेंडर तिथि में एएम/पीएम सेट कर सकते हैं या ऐसा कुछ है जिसे आप केवल

मैं यह भी सोच रहा था कि ग्रेगोरियन में 24 घंटे 24 घंटे हैं और यह स्वचालित रूप से पूर्वाह्न और अपराह्न निर्धारित करता है?

उत्तर

29
Calendar.get(Calendar.HOUR); 

पूर्वाह्न/अपराह्न स्वरूप के लिए घंटे (0-12) देता है।

Calendar.get(Calendar.HOUR_OF_DAY); 

0-24 से लेकर घंटे देता है।

यह अपने आप में रूपांतरण करता है। आपको इसे बताने की जरूरत नहीं है।

cal.set(Calendar.AM_PM, Calendar.AM) 

विल/सका परिवर्तन बिंदु समय इस कैलेंडर वस्तु का प्रतिनिधित्व करता है। (यदि यह 1:00 बजे है तो आपके पास बाद में 1:00 बजे होगा)। यह GregorianCalendar के लिए सच है (पीटर कैटिंस्की द्वारा प्रश्न पर टिप्पणी देखें)।

बीटीडब्ल्यू/संकेत आईएमओ आपको अपने आउटपुट पसंदीदा प्रारूप में DateFormat का उपयोग करना चाहिए।

+0

धन्यवाद मार्टिनके, बहुत सराहना की। मुझे लगता है कि मैं HOUR_OF_DAY का उपयोग करूंगा क्योंकि यह मेरे लिए सबसे अच्छा लगता है। धन्यवाद मैं डेटफॉर्मैट का उपयोग करूंगा। मैं अपने कोड में कहीं और इस्तेमाल कर रहा हूं। बहुत धन्यवाद। दिलम और पीटर भी धन्यवाद – daveb

6
Calendar cal = new GreogorianCalendar(); 
cal.set(Calendar.AM_PM, Calendar.AM); 
+0

@ जिगार/@ पीटर, क्या आप जानते हैं कि क्या यह calrset (calendar.HOUR_OF_DAY, ...) 'को * एएम/पीएम सेट करने के बाद * ओवरराइड किया गया है? –

+0

सेट करने के लिए कॉल सबसे अधिक संचयी संचयी के लिए हैं। हालांकि, फ़ील्ड सेट करने से कैलेंडर के क्षेत्र और कार्यान्वयन के आधार पर अन्य क्षेत्रों को प्रभावित किया जा सकता है। Http://docs.oracle.com/javase/6/docs/api/java/util/Calendar.html –

+0

हाय दिलम और पीटर देखें, मैं cal.set (कैलेंडर.HOUR_OF_DAY, ...) को ओवरराइड नहीं कर रहा हूं। फिलहाल मैं एएम/पीएम को स्थापित नहीं कर रहा हूं। मैं ग्रेगोरियन कैलेंडर तारीख को 24 घंटे के रूप में सेट करने में सक्षम था लेकिन अब यह सोच रहा था कि एएम/पीएम को मेरे टूस्ट्रिंग विधियों में कैसे प्रदर्शित किया जाए। मेरे toString में मैं अपना getmethod प्रिंट करता हूं जो डेट ऑब्जेक्ट की तिथि/समय देता है। यह फिलहाल वापसी या अपराह्न नहीं है। – daveb

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

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