Если вам нужна более точная дата и время, вы можете использовать:
DateTime.Now.ToString("O").Replace(":", "_") //2016-09-21T13_14_01.3624587+02_00
или (если вам нужно немного меньше)
DateTime.Now.ToString("s").Replace(":", "_") //2016-09-21T13_16_11
Оба являются допустимыми именами файлов и могут быть отсортированы.
Вы можете создать метод расширений:
public static string ToFileName(this DateTime @this)
{
return @this.ToString("O").Replace(":", "_");
}
А затем используйте это так:
var saveZipToFile = "output_" + DateTime.Now.ToFileName() + ".zip";
Формат "s" не учитывает часовые пояса и, следовательно, дату и время:
- 2014-11-15T18: 32: 17 + 00: 00
- 2014-11-15T18: 32: 17 + 08: 00
, отформатированные с использованием "s", идентичны.
Поэтому, если ваши даты и время представляют разные часовые пояса, я бы рекомендовал использовать «O» или DateTime.UtcNow
.