यह एक कुछ व्यक्तिपरक सवाल है, और चीजों की बड़ी योजना में बहुत महत्वपूर्ण नहीं है, लेकिन कुछ ऐसा है जो मुझे नियमित रूप से परेशान करता है। ऐसा लगता है कि फ़ाइल नाम में टाइमस्टैम्प लगाने का कोई स्व-स्पष्ट तरीका नहीं है ।
उद्देश्य मुद्दा यह है कि फ़ाइल नामों में टाइमस्टैम्प को क्रमबद्ध होना चाहिए । लेकिन "s" ( "yyyy-MM-ddTHH:mm:ss"
) और "u" ( "yyyy-MM-dd HH:mm:ssZ"
) जैसे .NET सॉर्ट करने योग्य दिनांक प्रारूप ':' वर्णों के कारण फ़ाइल नामों में मान्य नहीं हैं।
दूसरी बात यह है कि आपको आसानी से देखना चाहिए कि सार्वभौमिक या स्थानीय समय का उपयोग किया जाता है या नहीं । व्यावहारिक रूप से, उपयोगकर्ता स्थानीय समय से सार्वभौमिक समय तक पसंद करते हैं।
मैं मूल समय प्रारूप के साथ आईएसओ 8601 का उपयोग कर रहा हूं।
- स्थानीय समय प्रारूप स्ट्रिंग
"yyyy-MM-ddTHHmmsszz"
- UTC प्रारूप स्ट्रिंग
"yyyy-MM-ddTHHmmssZ"
इन प्रारूपों में मेरा वर्तमान स्थानीय समय "2009-08-08T151800+03"
और यूटीसी होगा"2009-08-08T121800Z"
आप "K" के साथ DateTime.Kind को ऑटोडेट भी कर सकते हैं और उपयोग कर सकते हैं "yyyy-MM-ddTHHmmssK"
, लेकिन फिर आपको ':' वर्णों को बदलना होगा।
कोई अन्य सुझाव?
संपादित करें: अब तक कुछ नोट:
"yyyy-MM-ddTHHmmsszz"
यदि एकाधिक समय क्षेत्र शामिल हैं, तो स्थानीय समय + समय क्षेत्र स्वरूप अब सॉर्टेबल नहीं है। ज्यादातर मामलों में यह समय क्षेत्र की जानकारी को छोड़ने के लिए समझ में आता है अगर यह बेमानी है, और अन्यथा यूटीसी का उपयोग करें।
एक और बात यह है कि यूटीसी को हमेशा अनुमान और गलतियों को रोकने के लिए 'जेड', 'जीएमटी' या 'यूटीसी' के साथ चिह्नित किया जाना चाहिए।
जूलियन तारीखें और अन्य स्टारडेट्स शांत हैं क्योंकि ग्रेगोरियन कैलेंडर के साथ तारीख अंकगणित ब्रिंडेड है।