DateTime.ToString () प्रारूप जिसे फ़ाइल नाम या एक्सटेंशन में उपयोग किया जा सकता है?


100

मैं फ़ाइल नाम के रूप में फ़ाइल नाम के लिए टाइमस्टैम्प जोड़ना चाहता हूं, लेकिन अधिकांश डेटाइम तरीकों से मैंने रिक्त स्थान और स्लैश के साथ आउटपुट की कोशिश की है। उदाहरण के लिए:

Debug.WriteLine(DateTime.Now.ToString()); // <-- 9/19/2012 1:41:46 PM
Debug.WriteLine(DateTime.Now.ToShortTimeString()); // <-- 1:41 PM
Debug.WriteLine(DateTime.Now.ToShortDateString()); // <-- 9/19/2012
Debug.WriteLine(DateTime.Now.ToFileTime()); // <-- 129925501061462806

ToFileTime()काम करता है लेकिन वास्तव में मानव-पठनीय नहीं है। मैं उस मानव-पठनीय टाइमस्टैम्प के आउटपुट को दिनांक और समय के साथ कैसे प्रारूपित कर सकता हूं जिसका उपयोग फ़ाइल नाम या एक्सटेंशन में किया जा सकता है? कुछ पसंद है 2011-19-9--13-45-30?


2
इस बारे में ... DateTime.Now.ToString ("yyyy-MM-dd - hh-mm-ss")
Gene S

जवाबों:


177

आप इसका उपयोग कर सकते हैं:

DateTime.Now.ToString("yyyy-dd-M--HH-mm-ss");

5
आप यहाँ और अधिक उदाहरणों / विकल्पों पर एक नज़र डाल सकते
क्रिस्टोफ़ क्लेज़

1
मुझे लगता है कि utc का समय बेहतर होगा
RealSteel

89
क्या आप गंभीरता से वर्ष और महीने के बीच के दिन का सुझाव दे रहे हैं ??
kjbartel

10
फ़ाइल नाम की तारीख के क्रम में उन्हें प्राप्त करने के लिए फ़ाइलों की सूची के बाद से छंटनी नहीं की जा सकती है। सबसे महत्वपूर्ण से कम महत्वपूर्ण दिन का क्रम होना चाहिए।
बर्नहार्ड हॉफमैन

4
@ मैट - आप मानते हैं कि फ़ाइल नाम निर्मित / संशोधित / एक्सेस की गई तारीख से संबंधित है जो यह हमेशा नहीं होता है।
बर्नहार्ड हॉफमैन

121

मैं आईएसओ 8601 प्रारूप का उपयोग करेगा , बिना विभाजक:

DateTime.Now.ToString("yyyyMMddTHHmmss")

7
यदि आप उपयोग करते हैं DateTime.Now.ToString("o"), तो यह आपको देगा yyyy-MM-ddTHH:mm:ss.fffffff-HH:mm(जहां अंतिम घंटे और मिनट ऑफसेट +/- जीएमटी हैं)। दी, यह फ़ाइल नाम प्रारूप के रूप में काम नहीं करेगा, लेकिन "o"स्वरूपण जानना अच्छा है।
क्रिलगर

16

मेरे पास भी ऐसी ही स्थिति है, लेकिन मैं चाहता हूं कि डेटाइम समय का उपयोग करने में सक्षम हो।

DateTime.Now.ToString("s").Replace(":", ".") // <-- 2016-10-25T16.50.35

जब मैं पार्स करना चाहता हूं, तो मैं केवल कॉल को रिवर्स कर सकता हूं। इस तरह से मुझे किसी भी ymmdd सामान में टाइप करने की ज़रूरत नहीं है या यह अनुमान नहीं लगाया जाता है कि DateTime.Parse क्या प्रारूप देता है।


8

समय प्रारूप की नीचे दी गई सूची में सबसे अधिक उपयोग किया जाता है।

dd -महीने का दिन , 01 से 31 तक।

एमएम - माह , 01 से 12 तक।

yyyy -चार अंकों की संख्या के रूप में वर्ष

hh - घंटा , 12 घंटे की घड़ीका उपयोग करके01 से 12 तक।

मिमी - मिनट , 00 से 59 तक।

ss - दूसरा , 00 से 59 तक।

एचएच - घंटा ,00 से 23 तक 24-घंटे की घड़ीका उपयोगकरना।

tt - AM / PM पदनाम।

उपरोक्त का उपयोग करके आप अपनी फ़ाइल नाम के लिए एक अनूठा नाम बना पाएंगे।

यहाँ मैंने उदाहरण दिया है

string fileName = "fileName_" + DateTime.Now.ToString("MM-dd-yyyy_hh-mm-ss-tt") + ".pdf";

या

यदि आप प्रतीकों का उपयोग करना पसंद नहीं करते हैं तो आप यह भी आजमा सकते हैं।

string fileName = "fileName_" + DateTime.Now.ToString("MMddyyyyhhmmsstt") + ".pdf";

आशा है कि यह किसी को अभी या भविष्य में मदद करता है। :)




3

प्रक्षेप स्ट्रिंग और प्रारूप विनिर्देशक का उपयोग करना :

var filename = $"{DateTime.Now:yyyy.dd.M HH-mm-ss}"

या यदि आप अमेरिका में नहीं हैं:

var filename = $"{DateTime.Now:yyyy.M.dd HH-mm-ss}"

यह सुविधा भाषा के C # 6 और बाद के संस्करणों में उपलब्ध है।


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.