फ़ाइल नाम के भाग के रूप में टाइमस्टैम्प का उपयोग करने के लिए "मानक" प्रारूप [बंद]


85

मैंने फ़ाइल नाम के भाग के रूप में दिनांक / समय का उपयोग करने के लिए एक मानक प्रारूप की खोज की और कुछ भी साथ आने में असमर्थ था।

मेरा प्रश्न दो भागों में है:

समय टिकटों का उपयोग कर रहा है अद्वितीय लागू करने के लिए फ़ाइल में नाम एक गरीब अभ्यास?

मैं निर्माण तिथि से समय प्राप्त कर सकता हूं और फ़ाइल नामों (file0001.bak, file0002.bak, आदि) को अनुक्रमित कर सकता हूं, लेकिन समय टिकट सहित बस फ़ाइल संचालन जैसे कार्य करने देता है mv 2011-01* somewhere/। क्या इस प्रकार के नामकरण प्रणाली का उपयोग करने के लिए एक नकारात्मक पहलू है?

मैं जिस प्रारूप का उपयोग कर रहा हूं वह है YYYY-mm-dd_HH-MM-SS

क्या एक बेहतर प्रारूप है जिसका मुझे उपयोग करना चाहिए?

इस प्रारूप के साथ मैं फ़ाइल सिस्टम संगतता, str_to_date_parsing चिंताओं, आदि के साथ संबंध होना चाहिए?

धन्यवाद!

संपादित करें:

मैं बाहर छोड़ना चाहते हो सकता है लागू विशिष्टता बिट के बाद से यह एक एकल उपयोगकर्ता पैदा बैकअप एक cronjob (वहाँ किसी भी संगामिति समस्याओं नहीं होना चाहिए) का उपयोग कर रहा है।


9
आम तौर पर, मैं सिर्फ YYYYmmddHHMMSS का उपयोग करता हूं, फिर इसे संख्यात्मक रूप से या फ़िल्टर किया जा सकता है।
11:09 बजे परिक्रमा

मैं "yyyy mmdd hhmm" का उपयोग करता हूं। मेरी फर्म की वैश्विक पहुंच है, इसलिए मैं जीएमटी का उपयोग करते हुए मोहर लगाता हूं। इसलिए जैसा कि मैंने इसे लिखा है, यह "2011 0325 0245" होगा, क्योंकि अभी लंदन में यही समय है (और वे इस समय मानक समय पर हैं)। अगर मैं स्थानीय समय में निर्दिष्ट करना चाहता हूं, जो मेरे लिए पूर्वी समय है, तो मैं "yyyy mmdd hhmm ET" का उपयोग करूंगा।
माइक रोसेनब्लम

मैं युग के बाद से सेकंड का उपयोग करता हूं इसलिए मुझे समय क्षेत्र, लीप वर्ष और दिन की हल्की बचत से निपटने की आवश्यकता नहीं है। साथ ही दिनांक / समय गणित को आसान बनाता है।
आहारबुद्ध

1
इसे भी देखें: serverfault.com/questions/292014/…
Zero3

2
मैं blog.xam.de/2016/07/… पर एक पोस्ट में आईएसओ 8601 के आधार पर एक प्रारूप प्रस्तावित करता हूं - अगर हम एक प्रारूप पर सहमत हो सकते हैं, तो हमारी दुनिया आसान हो जाएगी :-)
डॉ मैक्स वोकेल

जवाबों:


62

आपको आईएसओ 8601 प्रारूप (2013-04-01T13: 01: 02) पर विचार करना चाहिए। हां इन चीजों के लिए मानक हैं। कॉलन और हाइफ़न को छोड़ा जा सकता है।

आमतौर पर मेरे द्वारा उपयोग किया जाने वाला प्रारूप स्ट्रिंग %Y%m%dT%H%M%S20130401T130102 है। आवश्यकताओं के आधार पर मैं बाईं ओर से मान छोड़ता हूं। बैश स्क्रिप्ट में मुझे एक लाइन जैसी तारीख मिलती है:

LOGDATE=$(date +%Y%m%dT%H%M%S)

32
यदि आप एक फ़ाइल नाम में अवैध हैं, तो कॉलोन निश्चित रूप से छोड़ा जा सकता है।
कार्सन 63000

2
स्ट्रैफ़टाइम का उपयोग करने वालों के लिए, प्रारूप स्ट्रिंग है"%Y-%m-%dT%H:%M:%S%z"
एलेक जैकबसन

6
मैं उपयोग करता हूं YYYY-MM-DD-HHMMSS(मैं SSकुछ मामलों में छोड़ सकता हूं )। दिनांक भाग काफी पठनीय है, और समय भाग अधिकांश उद्देश्यों के लिए पर्याप्त पठनीय है।
कीथ थॉम्पसन

15
मानक या नहीं, "20130401T1301102" बहुत उपयोगकर्ता के अनुकूल नहीं है। जब मैं अपने नाम में इस तरह के टाइमस्टैम्प के साथ सॉफ़्टवेयर लॉगफ़ाइल्स देखता हूं तो मेरी आँखें दुखती हैं।
जीरो 3

1
2019.04.01-13.01.02.JPGया इसी तरह के नाम (जैसे 190401-130102.JPG:) आंखों के लिए बेहतर हैं। @ ज़ीरो 3
एस.पेरोशन

4

मैंने फ़ाइल नाम के भाग के रूप में दिनांक / समय का उपयोग करने के लिए एक मानक प्रारूप की खोज की और कुछ भी साथ आने में असमर्थ था।

मेरा प्रश्न दो भागों में है:

क्या विशिष्ट फ़ाइल नामों को खराब अभ्यास को लागू करने के लिए एक समय टिकट का उपयोग किया जाता है?

नहीं यह ठीक है।

मुझे निर्माण तिथि से समय मिल सकता है और फ़ाइल नाम (file0001.bak, file0002.bak, आदि) क्रमबद्ध करें।

क्रमिक रूप से उन्हें संख्या देना अधिक काम है। टाइमस्टैम्प को एक बढ़ती हुई लेकिन गैर-अनुक्रमिक संख्या के रूप में सोचें।

लेकिन सिर्फ समय की मोहर सहित फाइल संचालन जैसे कि एमवी 2011-01 * कहीं न कहीं / को करने देता है। क्या इस प्रकार के नामकरण प्रणाली का उपयोग करने के लिए एक नकारात्मक पहलू है?

नहीं, यह हर समय किया जाता है।

मैं जिस प्रारूप का उपयोग कर रहा हूं वह YYYY-mm-dd_HH-MM-SS है।

यह अच्छा है, क्योंकि वे कालानुक्रमिक क्रम में क्रमबद्ध होंगे। मैं अंडरस्कोर खो देगा, सिर्फ इसलिए कि हाइफ़न टाइप करना आसान है।

क्या एक बेहतर प्रारूप है जिसका मुझे उपयोग करना चाहिए?

ज़रुरी नहीं।


2
मैं कहूंगा कि "ISO मानक समय प्रारूप का उपयोग करें"। तो, YYYY-mm-ddTHH: MM: SS (या yyyymmddTHHMMSS)।
वेटाइन

3

यह आपके आवेदन पर निर्भर करता है। कभी-कभी आपके द्वारा बताए गए जैसे टाइमस्टैम्प का उपयोग किया जा सकता है। कभी-कभी जब नाम टकराव एक चिंता का विषय है तो आप एक GUID जनरेटर का उपयोग कर सकते हैं ।


2

आपके द्वारा उपयोग किया जा रहा प्रारूप ठीक है, लेकिन यदि आप विशिष्टता चाहते हैं और समय का कोई और अर्थ नहीं है, तो आपके आवेदन में संगामिति की समस्या हो सकती है यदि एक ही समय में कई उपयोगकर्ताओं द्वारा एप्लिकेशन का उपयोग किया जाता है और वे सभी फ़ाइलों को उसी में बनाए जाते हैं फ़ोल्डर। यदि आप केवल विशिष्टता चाहते हैं तो आप GUID की पीढ़ी पर विचार कर सकते हैं और घुंघराले ब्रेसिज़ और डैश जैसे किसी भी अमान्य वर्ण को हटा सकते हैं और इसे फ़ाइल नाम के रूप में उपयोग कर सकते हैं।


2

आईएसओ 8601 प्रारूप का उपयोग करने से आप फ़ाइलों को तिथि के अनुसार क्रमबद्ध कर सकते हैं (यह मानते हुए कि वे सभी एक ही उपसर्ग हैं)।

http://www.iso.org/iso/support/faqs/faqs_widely_used_standards/widely_used_standards_other/date_and_time_format.htm
http://en.wikipedia.org/wiki/ISO_8601


5
मुझे लगता है कि आप जो कहना चाह रहे हैं, वह यह है कि लेक्सिकली सॉर्टिंग डेट के हिसाब से छंटनी करता है।
माइकल कोहेन

-3

एफबीआई के पास 100 मिलियन आपराधिक गिरफ्तारी उंगलियों के निशान का समर्थन करने का एक "एकल" उपयोगकर्ता समस्या है जो उन्हें हर जगह सभी पुलिस से प्राप्त होता है ...

... वे तारीख से शुरू करते हैं: yyyymmdd

मुझे नहीं पता कि वे कैसे जारी रखते हैं। मैं hhmm और मेरे लिए जारी रखता हूं जो यह करता है।

GMT / ज़ुलु का उपयोग करना वैश्विक समाधान के लिए एक उत्कृष्ट विचार की तरह लगता है। व्यक्तिगत रूप से मैं ईटी का उपयोग करता हूं, और एफबीआई "व्यक्तिगत रूप से" ईटी का उपयोग करता है क्योंकि यह वही है जहां वे मुख्यालय हैं।


3
यह अन्य पदों में कहीं अधिक सामान्य चर्चा के लिए कुछ भी नहीं जोड़ता है, जो वास्तव में कानूनी पात्रों और छंटाई और विशिष्टता जैसे पहलुओं पर स्पर्श करता है।
मार्टिज़न पीटर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.