Vraag DateTime.ToString () -indeling die kan worden gebruikt in een bestandsnaam of extensie?


Ik wil een tijdstempel toevoegen aan bestandsnamen terwijl bestanden worden gemaakt, maar de meeste DateTime-methoden die ik heb geprobeerd, voeren iets uit met spaties en slashes. Bijvoorbeeld:

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() werkt, maar is niet echt leesbaar voor de mens. Hoe kan ik de uitvoer indelen naar een voor mensen leesbare tijdstempel met datum en tijd die in een bestandsnaam of extensie kan worden gebruikt? Bij voorkeur iets als 2011-19-9--13-45-30?


62
2017-09-19 17:42


oorsprong


antwoorden:


U kunt dit gebruiken:

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

124
2017-09-19 17:44



Ik zou de gebruiken ISO 8601 formaat, zonder scheidingstekens:

DateTime.Now.ToString("yyyyMMddTHHmmss")

64
2017-09-19 17:48



Ik heb een soortgelijke situatie maar ik wil een consistente manier om DateTime.Parse ook van de bestandsnaam te kunnen gebruiken, dus ik ging met

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

Wanneer ik wil parseren, kan ik de oproep Vervangen eenvoudigweg omkeren. Op deze manier hoef ik geen yymmdd dingen in te tikken of te raden welke formaten DateTime.Parse toelaat.


8
2017-10-25 23:59



Je kunt het proberen met

var result = DateTime.Now.ToString("yyyy-MM-d--HH-mm-ss");

3
2017-09-19 17:46



U kunt als volgt een pad voor uw bestand maken:

string path = "fileName-"+DateTime.Now.ToString("yyyy-dd-M--HH-mm-ss") + ".txt";

2
2017-08-23 07:53



De onderstaande lijst met tijdsindelingen die het meest worden gebruikt.,

dd - dag van de maand, van 01 tot 31.

MM - maand, van 01 tot 12.

yyyy - jaar als een viercijferig nummer.

hh - uur, gebruik maken van een 12-uurs klok van 01 tot 12.

mm - minuut, van 00 tot 59.

ss - tweede, van 00 tot 59.

HH - uur, gebruik maken van een 24 uur klok van 00 tot 23.

tt - AM PM aanduiding.

Met behulp van het bovenstaande kunt u een unieke naam aan uw bestandsnaam vormen.

Hier heb ik een voorbeeld gegeven 

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

OF

Als u geen symbolen wilt gebruiken, kunt u dit ook proberen.,

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

Ik hoop dat dit nu of in de toekomst iemand helpt. :)


2
2018-01-31 10:29



Persoonlijk vind ik het op deze manier leuk:

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

Omdat het onderscheid maakt tussen de datum en de tijd.


2
2017-07-29 21:16