Eu quero adicionar um carimbo de data / hora aos nomes de arquivos à medida que os arquivos são criados, mas a maioria dos métodos DateTime eu tentei produzir algo com espaços e barras. Por exemplo:
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()
funciona, mas não é exatamente legível por humanos. Como posso formatar a saída para um carimbo de data / hora legível com data e hora que pode ser usado em um nome de arquivo ou extensão? De preferência algo como 2011-19-9--13-45-30
?
c#
datetime
filenames
datetime-format
pdizz
fonte
fonte
Respostas:
Você pode usar isto:
fonte
Eu usaria o formato ISO 8601 , sem separadores:
fonte
DateTime.Now.ToString("o")
, ele mostraráyyyy-MM-ddTHH:mm:ss.fffffff-HH:mm
(onde a hora e o minuto finais são +/- GMT). Concedido, isso não funcionaria como um formato de nome de arquivo, mas"o"
é bom saber a formatação.Eu tenho uma situação semelhante, mas quero uma maneira consistente de poder usar DateTime.Parse no nome do arquivo também, por isso segui
Quando desejo analisar, posso simplesmente reverter a chamada Replace. Dessa forma, não preciso digitar nada no yymmdd ou adivinhar quais formatos DateTime.Parse permite.
fonte
A lista abaixo de especificadores de formato de hora mais comumente usados.,
Usando o acima, você será capaz de formar um nome exclusivo para o seu nome de arquivo.
Aqui eu forneci um exemplo
OU
Se você não preferir usar símbolos, também pode tentar isso.,
Espero que isso ajude alguém agora ou no futuro. :)
fonte
Pessoalmente, gosto desta forma:
Porque distingue entre a data e a hora.
fonte
Você pode tentar com
fonte
Usando string de interpolação e especificador de formato :
Ou se você não estiver na América:
fonte
Você pode criar um caminho para o seu arquivo conforme abaixo:
fonte