Я сталкивался с этой проблемой несколько раз, когда хотел бы иметь несколько версий одного и того же файла в одном каталоге. Я делал это с помощью C #, добавляя метку времени к имени файла примерно так DateTime.Now.ToString().Replace('/', '-').Replace(':', '.'). Есть лучший способ сделать это?
Существуют следующие описатели настраиваемого формата: y (год), M (месяц), d (день), h (час 12), H (час 24), m (минута), s (секунда), f (вторая дробь), F (вторая дробь, завершающие нули обрезаются), t (PM или AM) и z (часовой пояс).
С методом расширения
Использование:
string result ="myfile.txt".AppendTimeStamp();//myfile20130604234625642.txt
Я добавил, Path.GetDirectoryName(fileName)чтобы получить полный путь к файлу. Затем заменить string.Concat()с Path.Combine()ГЭТ полное имя файла.
gilu 09
17
Я предпочитаю использовать:
string result ="myFile_"+DateTime.Now.ToFileTime()+".txt";
Что делает ToFileTime ()?
Преобразует значение текущего объекта DateTime во время файла Windows.
public long ToFileTime()
Время файла Windows - это 64-битное значение, которое представляет количество 100-наносекундных интервалов, прошедших с 12:00 полуночи 1 января 1601 года нашей эры (CE) Универсальное скоординированное время (UTC). Windows использует время файла для записи, когда приложение создает файл, обращается к нему или записывает в него.
Возможно, DateTime.Now.Ticksвместо этого добавление происходит немного быстрее, поскольку вы не будете создавать 3 строки, и значение тиков всегда будет уникальным.
этот ответ так, как вы получаете метку времени !. добавьте его в файл с помощью класса Path, и манипуляции со строками вообще не проблема. это только альтернатива методу DateTime.ToString (String) или string.Format ("{0: yyyy-MM-dd_hh-mm-ss-tt}", DateTime.Now);
Для Текущие дата и время как имя файла в файловой системе. Теперь вызовите метод string.Format и объедините его с DateTime.Now, чтобы получить метод, выводящий правильную строку на основе даты и времени.
using System;
using System.IO;classProgram{staticvoidMain(){//// Write file containing the date with BIN extension//string n =string.Format("text-{0:yyyy-MM-dd_hh-mm-ss-tt}.bin",DateTime.Now);File.WriteAllText(n,"abc");}}
Path.GetDirectoryName(fileName)
чтобы получить полный путь к файлу. Затем заменитьstring.Concat()
сPath.Combine()
ГЭТ полное имя файла.Я предпочитаю использовать:
Что делает ToFileTime ()?
Источник: документация MSDN - метод DateTime.ToFileTime
источник
Возможно,
DateTime.Now.Ticks
вместо этого добавление происходит немного быстрее, поскольку вы не будете создавать 3 строки, и значение тиков всегда будет уникальным.источник
ты можешь использовать:
источник
Вместо этого вы можете использовать ниже:
источник
Для Текущие дата и время как имя файла в файловой системе. Теперь вызовите метод string.Format и объедините его с DateTime.Now, чтобы получить метод, выводящий правильную строку на основе даты и времени.
Вывод :
источник