2013-03-18 5 views
5

क्या सी या ऑब्जेक्टिव-सी का उपयोग करते हुए प्रत्येक देश के लिए डेलाइट डेविंग शुरू होता है और समाप्त होने पर विशिष्ट तिथि (रास्ता) प्राप्त करने का कोई तरीका है?उद्देश्य-सी/सी का उपयोग कर डीएसटी (डेलाइट सेविंग टाइम) टाइमस्टैम्प खोजें?

मेक्सिको में, ग्रीष्मकालीन समय अप्रैल में पहले रविवार को 2:00 बजे शुरू होता है, और अक्टूबर में 2:00 बजे अंतिम रविवार को समाप्त होता है। कई POSIX प्रणालियों में यह रूप में

M4.1.0/2,M10.5.0/2 
(Begins: Month 4, 1st Sunday at 02:00AM, Ends: Month 10, last Sunday at 02:00AM) 

लिखा है मैं जानता हूँ कि यह करता है, तो दिन के उजाले बचत वर्तमान में सक्रिय

NSTimeZone* systemTimeZone = [NSTimeZone systemTimeZone]; 
BOOL dstIsOn = [systemTimeZone isDaylightSavingTime]; 

उपयोग कर रहा है और जब तक अगले Daylight Savings शुरू होता है समय प्राप्त करने के लिए संभव है कि पता करने के लिए संभव है

NSTimeZone* systemTimeZone = [NSTimeZone systemTimeZone]; 
NSTimeInterval delta = [systemTimeZone daylightSavingTimeOffset]; 

लेकिन: मैं कैसे विशिष्ट दिन ढूँढने कि डेलाइट सेविंग शुरू होता है/समाप्त होता है के बारे में जाना होगा?

क्या वहां कुछ हत्यारा टेबल है जो मुझे नहीं मिला है?

किसी भी मदद की सराहना की जाएगी!

+0

एफवाईआई, अमेरिका में हमारे डेलाइट बचत समय में प्रत्येक छोर पर लगभग 3 सप्ताह तक विस्तार हुआ है। –

+0

@ करलवीज़ी आप वास्तव में सही हैं। मेजेिको में बदल गया देश यद्यपि कजाकिस्तान के शानदार राष्ट्र में खुशी से बदल गया होगा, उन्होंने डीएसटी को देखा था। – Groot

उत्तर

8

हां, वहां है - आप [NSTimeZone nextDaylightSavingTimeTransitionAfterDate:] विधि का उपयोग कर सकते हैं। यह NSDate देता है, जिसका उपयोग आप ऑफसेट होने के लिए daylightSavingTimeOffsetForDate के साथ कर सकते हैं।

आम तौर पर आप अगली ऑफसेट खोजने के लिए इसका उपयोग करेंगे, लेकिन आप स्पष्ट रूप से आने वाले डेलाइट सेविंग परिवर्तनों की श्रृंखला प्राप्त करने के लिए अलग-अलग तिथियों के साथ इसे एक से अधिक बार चला सकते हैं। एक सुविधा विधि nextDaylightSavingTimeTransition भी है जो हमेशा अगले संक्रमण को वापस कर देगी।

+0

इसे आज़माएं, धन्यवाद! – Groot

+0

ध्यान रखें कि डीएसटी नियम अधिक बार बदलते हैं तो ऐप्पल आईओएस अपडेट जारी करता है। तो एनएसटीमेज़ोन विधियों की तिथियां पुरानी हो सकती हैं। हमारी प्रोजेक्ट में हम इसका इस्तेमाल करते हैं, जैसा कि आपने इसे "हत्यारा टेबल" कहा है, जिसे मैन्युअल रूप से अपडेट किया गया है। – Jeepston

+0

@ जीपस्टन हाँ, मुझे इसके बारे में पता था ... मैं इतना भाग्यशाली नहीं होता कि आपकी हत्यारा तालिका पकड़ने के लिए तैयार है? ;) – Groot

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