2012-09-14 23 views
31

आईओएस 6 के साथ xcode 4.5 (4G182) का उपयोग कर रहा हूं। NSDateFormatter आईओएस 6 में गलत साल दिखाता है, कैसे हल करें?NSDateFormatter गलत वर्ष दिखाता है

NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease]; 
[dateFormatter setDateFormat:@"YYYY-MM-dd"]; 
NSString *str = [dateFormatter stringFromDate:[NSDate date]]; 
NSLog(@"%@ == %@",str,[[dateFormatter dateFromString:str] description]); 

इसे प्रिंट " -09-14 == -09-13 16:00:00 +0000"

+0

मुझे नहीं लगता कि यह एक "आईओएस 6 मुद्दा" है। आपको लोअरकेस 'y' का उपयोग करना चाहिए। Http://stackoverflow.com/questions/6388370/string-formatted-date-picker-date-is-off/6388430#6388430 देखें। – Anna

उत्तर

97

YYYYyyyy के रूप में ही नहीं है।

this page के अनुसार IOS Date format page संदर्भ;

`y`: Year 
`Y`: Year (in "Week of Year" based calendars). This year designation is used in 
    ISO year-week calendar as defined by ISO 8601, but can be used in 
    non-Gregorian based calendar systems where week date processing is desired. 
    May not always be the same value as calendar year. 

ऑपरेटिव वाक्य अंतिम वाला है। इसके बजाय yyyy का उपयोग करें। कैसे और क्यों साल मूल्यों भिन्न हों पर


अधिक जानकारी जब YYYY का उपयोग कर:

ISO सप्ताह-अंकन साल सप्ताह 01 के पहले दिन (सोमवार) से शुरू होती है और पर समाप्त होता है नए आईएसओ वर्ष से पहले रविवार (इसलिए ओवरलैप या अंतराल के बिना)। इसमें 52 या 53 पूर्ण सप्ताह शामिल हैं। आईएसओ पारंपरिक पारंपरिक ग्रेगोरियन कैलेंडर वर्ष की संख्या से शुक्रवार, शनिवार, और रविवार, या शनिवार और रविवार, या सिर्फ एक रविवार को पारंपरिक ग्रेगोरियन कैलेंडर वर्ष की शुरुआत में विचलित हो जाता है (जो पिछले आईएसओ सप्ताह-संख्या वर्ष के अंत में हैं) और एक सोमवार, मंगलवार और बुधवार, या सोमवार और मंगलवार, या सिर्फ सोमवार, पारंपरिक ग्रेगोरियन कैलेंडर वर्ष (जो में हैं) के अंत में हैं अगले आईएसओ सप्ताह-संख्या वर्ष का सप्ताह 01)। गुरुवार के लिए, आईएसओ सप्ताह-संख्यात्मक वर्ष संख्या पारंपरिक ग्रेगोरियन कैलेंडर वर्ष संख्या के बराबर हमेशा होती है।

उदाहरण:

सोमवार 29 दिसंबर लिखा है " -W01-1"

रविवार 3 जनवरी लिखा है " -W53-7"

https://en.wikipedia.org/wiki/ISO_8601#Week_dates (बोल्ड स्टाइलिन जी जोड़ा गया)

+0

धन्यवाद .. आप मेरी समस्या भी हल करते हैं .. :) – Mani

+2

धन्यवाद, मैं इस समस्या के साथ लंबे समय से पागल हो गया हूं .. बहुत बहुत धन्यवाद –

+2

मुझे लगता है कि एक फॉर्मेटर डिजाइन करने में विचारहीनता का एक तत्व है जो प्रारूप में YYYY का उपयोग करता है एक साल "हमेशा कैलेंडर वर्ष के समान मूल्य नहीं हो सकता है।" 'QQQQ' या 'XXXX' नहीं होगा (उदाहरण के लिए) कम त्रुटि-प्रवण विकल्प रहा है? "मनोवैज्ञानिक मूल्य" वास्तव में यहां प्राथमिकता देने की चीज़ की तरह प्रतीत नहीं होता है। – Spike0xff

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

  • कोई संबंधित समस्या नहीं^_^