में आईएसओ -8601 सप्ताह संख्या बनाम "आउटलुक" नंबरिंग मैं हाल ही में एक बड़ी समस्या में आया, क्योंकि मेरे पास एक ऐसी प्रणाली है जो ग्राहकों को साप्ताहिक भुगतान कर रही है।PHP
जैसा कि हम सभी जानते हैं, एक वर्ष में 52 सप्ताह हैं, और इसके लिए मानक हैं। मैं एक तारीख से सप्ताह संख्या प्राप्त करने के लिए PHP उर्फ दिनांक ('डब्ल्यू') का उपयोग कर रहा हूं, जो मानक आईएसओ -8601 के अनुसार गणना करता है।
यहाँ कुछ संदर्भ हैं:
लेकिन यहाँ मुद्दा है: वर्ष 2009 के 53 सप्ताह है। ऐसा लगता है कि 400 वर्षों के भीतर ग्रेगोरियन कैलेंडर के माध्यम से 71 साल हैं जिनमें 53 सप्ताह हैं। यह एक चीज है जिसे मैं नहीं जानता था, और शायद कई भी नहीं थे।
विकिपीडिया के अनुसार:
2009-12-31 2009-W53-4 (आईएसओ साल 2009 53 सप्ताह, ग्रेगोरियन वर्ष 2009 का विस्तार है, जो शुरू होता है और गुरुवार के साथ समाप्त होता दोनों के साथ समाप्त होता है पर तीन दिन)।
और PHP में दिनांक फ़ंक्शन पूरी तरह से इसका सम्मान करता है।
यदि आप एमएस आउटलुक में देखते हैं, और कैलेंडर दृश्य में सप्ताह के दिन दिखाते हैं, तो यह 28 सप्ताह 200 9 से 03 जनवरी 2010 सप्ताह में 52 सप्ताह दिखाई देगा। क्या यह एक और मानक है? अमेरिकी मानक या कुछ?
यदि ऐसा है, तो PHP इसका समर्थन क्यों नहीं कर सकता है? क्या कोई ऐसा काम करता है जिसने इसका समर्थन किया?
क्या यह 53 सप्ताह के लिए सही है? हमारे पास यूरोपीय और अमेरिकी दोनों ग्राहक हैं।
दिलचस्प सवाल। मैंने देखा है कि 2011 में आउटलुक का 53 सप्ताह है। ऐसा लगता है कि यह 1 सप्ताह के पहले सप्ताह होने के लिए "सप्ताह 1" को परिभाषित कर रहा है। सप्ताह के बाद रविवार या सोमवार को सेटिंग के आधार पर शुरू हो सकता है, यह वास्तव में अलग-अलग के लिए अलग हो सकता है उपयोगकर्ताओं। –
मैंने अभी कोशिश की। आउटलुक आपको सप्ताह के शुरुआती दिन होने के लिए किसी भी दिन चुनने देगा, और सप्ताह की संख्या केवल उस सप्ताह के साथ शुरू होती है जिसमें 1 जनवरी शामिल है। इस प्रकार Outlook में सात अलग-अलग नंबरिंग योजनाएं उपलब्ध हैं। –