Questa è una domanda un po 'soggettiva, e non molto importante nel grande schema delle cose, ma qualcosa che mi infastidisce regolarmente. Non sembra esserci un modo evidente per inserire un timestamp in un nome file.Qual è il formato di data e ora preferito in un nome file?
Il problema oggettivo è che data/ora nei nomi file deve essere ordinabile. Ma i formati di data ordinabili .NET come "s" ("yyyy-MM-ddTHH:mm:ss"
) e "u" ("yyyy-MM-dd HH:mm:ssZ"
) non sono validi nei nomi di file a causa di caratteri ':'.
Un'altra cosa è che si dovrebbe facilmente vedere se tempo universale o locale viene utilizzato. Praticamente, gli utenti sembrano preferire l'ora locale al tempo universale.
ho in gran parte finito per usare ISO 8601 con il formato dell'ora di base:
- ora locale stringa di formato
"yyyy-MM-ddTHHmmsszz"
- stringa di formato UTC
"yyyy-MM-ddTHHmmssZ"
In questi formati mia ore sarebbe "2009-08-08T151800+03"
e UTC "2009-08-08T121800Z"
È anche possibile un utodetect the DateTime.Kind con "K" e usa "yyyy-MM-ddTHHmmssK"
, ma dovrai sostituire i caratteri ':'.
Altri suggerimenti?
Edit: Alcune note finora:
ora + ora locale formato zona "yyyy-MM-ddTHHmmsszz"
non è più ordinabile se più fusi orari sono coinvolti. Nella maggior parte dei casi, sarebbe opportuno eliminare le informazioni sul fuso orario se sono ridondanti e utilizzare altrimenti l'UTC.
Un'altra cosa è che l'UTC deve sempre essere contrassegnato con "Z", "GMT" o "UTC" per evitare congetture ed errori.
Julian dates e altri stardates sono freddi perché l'aritmetica delle date con gregorian calendar è il braindead.
sono d'accordo con tutto questo se non che io * non * trovarlo importante nel grande schema delle cose. Il tuo formato è il migliore: utilizzerei anche il fuso orario a 4 cifre come specificato in ISO8601, per adattare le zone non interi. Mi ha sempre infastidito il fatto che ISO8601 non indirizzi il colon vietato nei nomi dei file. – hpekristiansen
Propongo un formato basato su ISO 8601 in un post su http://blog.xam.de/2016/07/standard-format-for-time-stamps-in-file.html - renderebbe il nostro mondo più facile, se potessimo concordare su un formato :-) – xamde