Bu biraz öznel bir sorudur ve işlerin büyük şemasında çok önemli değildir, ancak yine de beni düzenli olarak rahatsız eden bir şeydir. Bir dosya adına zaman damgası koymanın apaçık bir yolu yok gibi görünüyor .
Amaç, dosya adlarındaki zaman damgalarının sıralanabilir olmasıdır . Ancak "s" ( "yyyy-MM-ddTHH:mm:ss") ve "u" ( "yyyy-MM-dd HH:mm:ssZ") gibi .NET sıralanabilir tarih biçimleri , ':' karakterleri nedeniyle dosya adlarında geçerli değildir.
Diğer bir şey de, evrensel saatin mi yoksa yerel saatin mi kullanıldığını kolayca görmeniz gerektiğidir . Pratikte kullanıcılar yerel saati evrensel saate tercih ediyor gibi görünüyor.
Çoğunlukla temel zaman biçimiyle ISO 8601'i kullandım :
- Yerel saat biçimi dizesi
"yyyy-MM-ddTHHmmsszz" - UTC biçim dizesi
"yyyy-MM-ddTHHmmssZ"
Bu biçimlerde şu anki yerel "2009-08-08T151800+03"saatim ve UTC"2009-08-08T121800Z"
Ayrıca DateTime.Kind öğesini "K" ile otomatik olarak algılayabilir ve kullanabilirsiniz "yyyy-MM-ddTHHmmssK", ancak daha sonra ':' karakterlerini değiştirmeniz gerekir.
Başka öneriniz var mı?
Düzenleme: Şimdiye kadar birkaç not:
"yyyy-MM-ddTHHmmsszz"Birden fazla saat dilimi söz konusuysa yerel saat + saat dilimi biçimi artık sıralanamaz. Çoğu durumda, saat dilimi bilgisini gereksizse bırakmak ve aksi takdirde UTC kullanmak mantıklı olacaktır.
Diğer bir husus da, tahminlerin ve hataların önlenmesi için UTC'nin her zaman 'Z', 'GMT' veya 'UTC' ile işaretlenmesi gerektiğidir.
Jülyen tarihleri ve diğer yıldız isimleri harikadır çünkü gregorian takvimi ile tarih aritmetiği beyinsizdir.