2013-02-18 29 views
30

क्या ये पांच कथन विचलित हैं, या क्या किसी ऐसे मामले के बारे में जानते हैं जहां उनका उपयोग अलग-अलग परिणाम देगा? जो मैं इकट्ठा करता हूं उससे वे समकक्ष होते हैं लेकिन मुझे कुछ भी निर्णायक नहीं मिला है, और जीएमटी और यूटीसी वेरिएंट के बीच संभावित अंतर मुझे चिंता करते हैं।एनएसटीमेज़ोन: "यूटीसी" और "जीएमटी" के बीच कोई अंतर?

[NSTimeZone timeZoneWithName:@"GMT"]; 
[NSTimeZone timeZoneWithName:@"UTC"]; 
[NSTimeZone timeZoneWithAbbreviation:@"GMT"]; 
[NSTimeZone timeZoneWithAbbreviation:@"UTC"]; 
[NSTimeZone timeZoneForSecondsFromGMT:0]; 
+0

मैं अपेक्षाकृत हूँ निश्चित है कि दोनों आईओएस के भीतर अनिवार्य रूप से समान हैं। –

उत्तर

34

the docs, CFTimeZone के अनुसार (और विस्तार से, NSTimeZone) समय क्षेत्र के नाम, संक्षिप्त, GMT ऑफसेट, और TZ (or "Olsen") Database से डीएसटी जानकारी का उपयोग करता।

the source पर देखकर, आप देखेंगे कि अर्थात् "जीएमटी" और "यूटीसी" काफी अलग हैं, अभ्यास में वे अलग नहीं हैं: "जीएमटी" सिर्फ शून्य ऑफसेट टाइमज़ोन है।

अद्यतन: एक ओर जहां इस उत्तर 9 अप्रैल 1968 की तुलना में बाद दिनांकों सच बनी हुई है, जब ऐतिहासिक तारीखों के साथ काम कर, यह कोको प्रतीत होता है जीएमटी के पिछले परिभाषाओं कि (बल्कि आधुनिक परिभाषा से) विचाराधीन तारीख में मान्य थे का उपयोग करता है । इसका मतलब है कि 9 अप्रैल 1 9 68 से पहले की तारीखों के लिए जीएमटी और यूटीसी अलग-अलग हो सकते हैं। विस्तृत प्रदर्शनी के लिए this informative blog post के अंत देखें।

+0

सही उत्तर के लिए धन्यवाद, मैं अधिक आधिकारिक व्यक्ति का सपना देख नहीं सका! अर्थशास्त्र पर, एक कारण मुझे चिंतित था कि ऐप्पल दस्तावेज़ जीएमटी के रूप में सार्वभौमिक समय का उल्लेख करते हैं (यूटीसी नहीं, जैसा कि मैंने अपेक्षा की थी)। उदाहरण के लिए ऐप्पल ने एनएसडीएटी के 'टाइम इंटरवलसेंस रिफरेंसडेट' का वर्णन किया है "रिसीवर के बीच अंतराल और 1 जनवरी 2001, जीएमटी के पहले पल में लौटाता है"। लेकिन अब मैं इसके साथ सहज हूं, धन्यवाद। – Clafou

4

जीएमटी लगभग सभी मामलों में यूटीसी का मतलब है।
लेकिन आज यह गलत शब्द है जिसका अर्थ है।
दुर्भाग्य से ऐप्पल जीएमटी शब्द का उपयोग करता है, जबकि इसे यूटीसी का उपयोग करना चाहिए।

जीएमटी यूटीसी (1 9 28 के बाद से) में मौजूद नहीं है, लेकिन ब्रिटेन और अफ्रीका में दुर्भाग्यवश इस शब्द का उपयोग अभी भी पश्चिमी यूरोपीय समय या पश्चिमी यूरोपीय ग्रीष्मकालीन समय को दर्शाने के लिए किया जाता है। वास्तविक जीएमटी को आज यूटी कहा जाता है और यूटीसी से 0 9 तक तक भिन्न हो सकता है।

(विकी पर लेख अंग्रेजी में मौजूद नहीं है लेकिन कई अन्य भाषाओं में - रोचक: german link)।

हालांकि कुछ कंप्यूटर programms (मेल हेडर), ऐतिहासिक कारणों से (यूनिक्स) में

यह अभी भी GMT कहा जाता है

3

Apple's NSDateFormatter and Internet Dates article[NSTimeZone timeZoneForSecondsFromGMT:0] का उपयोग करता है (यूटीसी के अर्थ में):

static NSDateFormatter * sRFC3339DateFormatter; 
NSString *     userVisibleDateTimeString; 
NSDate *     date; 

// If the date formatters aren't already set up, do that now and cache them 
// for subsequence reuse. 

if (sRFC3339DateFormatter == nil) { 
    NSLocale *     enUSPOSIXLocale; 

    sRFC3339DateFormatter = [[NSDateFormatter alloc] init]; 

    enUSPOSIXLocale = [NSLocale localeWithLocaleIdentifier:@"en_US_POSIX"]; 

    [sRFC3339DateFormatter setLocale:enUSPOSIXLocale]; 
    [sRFC3339DateFormatter setDateFormat:@"yyyy'-'MM'-'dd'T'HH':'mm':'ss'Z'"]; 
    [sRFC3339DateFormatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]]; 
}