मार्च 14 वीं और (रेंज में हर दिन 2014-3000 वर्ष के लिए परीक्षण किया) 7 नवंबर हमेशा का हिस्सा हैं सप्ताह में प्रकाश व्यवस्था संयुक्त राज्यों में होती है .. वे रविवार या शनिवार या सप्ताह के बीच में हो सकते हैं लेकिन वे हमेशा उस सप्ताह का हिस्सा होते हैं। नीचे दिया गया कोड रविवार को मिलेगा कि उन दो तिथियों में वर्ष का हिस्सा है, जिसमें प्रश्न की तारीख होती है। फिर उस तारीख को 2 घंटे जोड़ते हैं जिसमें दिन की रोशनी बचत वास्तव में होती है। फिर आप डेलाइट बचत की शुरुआत और समाप्ति तिथियों के खिलाफ प्रश्न की तारीख की तुलना करें और जीएमटी ऑफसेट द्वारा समय समायोजित करें। यह प्रक्रिया अन्य देशों के लिए शुरू और समाप्ति तिथियों के लिए काम कर सकती है। आप एक टेबल सेट कर सकते हैं जिसमें डेलाइट सेविंग एंड के साथ प्रत्येक देश कोड और डाक कोड हो और तिथियां शुरू करें और दोनों अवधि के लिए जीएमटी ऑफसेट शुरू करें। तारीखें एक महीने के पहले रविवार के लिए पहली बार 7 वीं, 14 वीं, 21 वीं और 28 वीं होगी। आप अधिकतम 30 सितंबर या 31 अक्टूबर के महीने के अंतिम रविवार के लिए अधिकतम दिन में डाल देंगे।
मार्च में 2 रविवार
:
cdate("3/14/" & format(now(),"yyyy"))-format(cdate("3/14/" & format(now(),"yyyy")),"W")+1+2/24
1 रविवार नवंबर:
cdate("11/7/" & format(now(),"yyyy"))-format(cdate("11/7/" & format(now(),"yyyy")),"W")+1+2/24
पूर्व।
If(now() < cdate("3/14/" & format(now(),"yyyy"))-format(cdate("3/14/" & format(now(),"yyyy")),"W")+1+2/24, dateadd("H",-5,now()), if(now() < cdate("11/7/" & format(now(),"yyyy"))-format(cdate("11/7/" & format(now(),"yyyy")),"W")+1+2/24, dateadd("H",-6,now()), dateadd("H",-5,now())))
t_SQL उदाहरण
मामला है जब [date2check] < DATEADD (hh, 2, कास्ट ('3/14 /' + कास्ट (DatePart (yyyy, [date2check]) nvarchar के रूप में (4)) एएस डेटाटाइम) + 1 - DATEPART (डब्ल्यू, सीएएसटी ('3/14 /' + सीएएसटी (DATEPART (yyyy, [date2check]) AS nvarchar (4)) एएस डेटाटाइम))) फिर डेटैड (एचएच, - DST_GMT_TM_ZN_DIFF, [date2check]) ELSE केस जब [date2check] < DATEADD (एचएच, 2, CAST ('11/7/'+ CAST (DATEPART (yyyy, [date2check]) AS nvarchar (4)) एएस डेटाटाइम) + 1 - DATEPART (डब्ल्यू, सीएएसटी ('11/7/'+ सीएएसटी (DATEPART (yyyy, [date2check]) AS nvarchar (4)) के रूप में datetime))) तो DATEADD (hh, - STD_GMT_TM_ZN_DIFF, [date2check]) और DATEADD (hh, - DST_GMT_TM_ZN_DIFF, [date2check]) END END
यदि वह कोड वास्तव में 1800 से 2006 तक सभी तिथियों के लिए 'टाइमज़ोन.इएसडेलाइट्सविंग्सटाइम() 'से सहमत है, तो' टाइमज़ोन.आईएसडेलाइट्सविंग्सटाइम()' टूटा हुआ है। 1 9 66 तक अमेरिका में राष्ट्रीय स्तर पर डेलाइट बचत समय भी मौजूद नहीं था (दो विश्व युद्धों के दौरान कुछ अवधि के अलावा)। और 2007 तक, यह अप्रैल में पहला रविवार शुरू हुआ और अक्टूबर में अंतिम रविवार को समाप्त हुआ, 1 974-19 75 में जब अवधि डीएसटी साल भर दौड़ती थी। – Anomie
प्रलेखन का कहना है कि यह ऐतिहासिक नहीं है। यह केवल वर्तमान संस्कृति के लिए नियम लागू करता है। सटीक ऐतिहासिक डेटा प्राप्त करने के लिए एक और सुविधा है। – captncraig
तो कम से कम टूटने का दस्तावेज है। – Anomie