Я хочу добавить метку времени к именам файлов по мере создания файлов, но большинство методов DateTime, которые я пробовал, выводить что-то с пробелами и косыми чертами. Например:
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
?
Ответы:
Вы можете использовать это:
источник
Я бы использовал формат ISO 8601 без разделителей:
источник
DateTime.Now.ToString("o")
, он выдаст вамyyyy-MM-ddTHH:mm:ss.fffffff-HH:mm
(где окончательное смещение часов и минут +/- GMT). Конечно, это не сработает в качестве формата имени файла, но о"o"
форматировании полезно знать.У меня аналогичная ситуация, но мне нужен последовательный способ использования DateTime.Parse из имени файла, поэтому я выбрал
Когда я хочу выполнить синтаксический анализ, я могу просто отменить вызов Replace. Таким образом, мне не нужно вводить какие-либо данные в формате yymmdd или угадывать, какие форматы позволяет DateTime.Parse.
источник
Ниже приведен список наиболее часто используемых спецификаторов формата времени.,
Используя вышеуказанное, вы сможете сформировать уникальное имя для вашего имени файла.
Здесь я привел пример
ИЛИ
Если вы не предпочитаете использовать символы, вы также можете попробовать это.,
Надеюсь, это поможет кому-то сейчас или в будущем. :)
источник
Лично мне это нравится:
Потому что он различает дату и время.
источник
Вы можете попробовать
источник
Использование строки интерполяции и спецификатора формата :
Или, если вы не в Америке:
источник
Вы можете указать путь к своему файлу, как показано ниже:
источник