2012-05-27 11 views
53

मेरे प्रणाली की तारीख समय 26 मई 22:55 है, लेकिन जब मैं [NSDate date] तारीख समय के साथ तारीख मिल 27 मई 02:35साथ [NSDate तारीख]

यह समय क्षेत्र की वजह से है है वर्तमान दिनांक और समय मिलता है?

यदि हाँ कैसे इस समस्या को हल करने के लिए, कि जब मैं दिनांक समय मिलता है, मुझे मेरे प्रणाली की तारीख देने के लिए और समय क्षेत्र की जाँच नहीं करता

+3

कैसे हैं आप निर्धारित करते हैं कि डेट ऑब्जेक्ट क्या है? क्या आप इसे लॉगिंग कर रहे हैं? यदि ऐसा है, तो यह संभवतः यूटीसी के रूप में अपना समय प्रिंट करेगा। तो, हाँ, यह समय क्षेत्र है। ऑब्जेक्ट की सही तिथि और समय है, यह सिर्फ समन्वयित सार्वभौमिक समय में प्रदर्शन के लिए इसे स्वरूपित कर रहा है। नए लोगों के लिए –

उत्तर

121
NSLocale* currentLocale = [NSLocale currentLocale]; 
[[NSDate date] descriptionWithLocale:currentLocale]; 

या का उपयोग

NSDateFormatter *dateFormatter=[[NSDateFormatter alloc] init]; 
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; 
// or @"yyyy-MM-dd hh:mm:ss a" if you prefer the time with AM/PM 
NSLog(@"%@",[dateFormatter stringFromDate:[NSDate date]]); 
+6

(और स्पष्ट बताएं) ... यह एनएसएलओजी है, न कि अंतिम पंक्ति में एनएसएलएल ... बस एक टाइपो। – fazhool

+5

एक और छोटी गड़बड़ी। '@" yyyy-MM-dd hh: mm: ss "' एक अच्छी तिथि प्रारूप नहीं है, क्योंकि यह 0-12 समय बिना एएम/पीएम प्रत्यय के साथ देगा। एक बेहतर एक '@ "yyyy-MM-dd hh है: मिमी: एस" या "@" yyyy-MM-dd एचएच: मिमी: एसएस "' (0-24 समय प्रारूप के लिए) है। – Alvaro

+0

धन्यवाद! यह अच्छा काम कर रहा है। – Raja

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