Метод toString () по умолчанию в datetimeoffset преобразует время в строковый формат, но теряет миллисекунды.Есть ли способ его сохранить?
ToString() принимает аргумент формата.Существуют коды формата строки, которые будут печатать миллисекунды - посмотрите список здесь .
ToString()
Например, код формата "o" напечатает строку полного времени с миллисекундами, илиМожно создать собственную строку формата в соответствии с вашими потребностями и использовать спецификатор "ffff", чтобы добавить миллисекунды, где это необходимо.
myDateTime.ToString("o")
Вы должны использовать «ffff» в строковом формате, чтобы получить миллисекунды, например:
DateTime date = DateTime.Now; string strDate = String.Format("{0:dd.MM.yyyy hh:mm.ss:ffff}", date);
Mitja
В соответствии с документацией из DateTimeOffset это ведет себя во многом аналогично ToString класса DateTime . Это означает, что вы можете, например, использовать стандартную строку формата o, которая показывает миллисекунды, или вы можете использовать любой шаблон пользовательского формата , который вы хотите.
DateTimeOffset
ToString
o
Так что вы можете сделать это:
Console.WriteLine(dto.ToString("o"));
Вы можете сделать это, используя символ f в строке формата.
DateTimeOffset.Now.ToString("ddMMyyy-HH:mm:ss")
Дает 23032011-16: 58: 36 "
DateTimeOffset.Now.ToString("ddMMyyy:HHmmssffff")
Дает 23032011-16:59: 088562"