Принудительное использование ISO 8601 с помощью CSVHelper

Я пытаюсь получить дату в формате ISO8601 в следующем формате yyyy-MM-ddTHH:mm:ss.fffffff zzz в .csv, используя CsvHelper.

public System.DateTimeOffset ChangeDT { get; set; }
Map(m => m.ChangeDT).ConvertUsing<string>(row => row.GetField<DateTimeOffset>("ChangeDT").ToString("yyyy-MM-ddTHH:mm:ss.fffffff zzz"));

Хотя приведенный выше код производит:

6/10/2014 12:00:00 AM -05:00

то, что я ищу для вывода, это:

2014-06-10 12:00:00.1234567 -05:00

Что я делаю неправильно?


person Joe R.    schedule 13.06.2014    source источник
comment
Может быть stackoverflow.com/questions/21678385/ быть актуальным? (Правда, очень старый...)   -  person Jon Skeet    schedule 13.06.2014
comment
Возможно, но я использую его и для других полей, таких как преобразование string.ToUpper, и это прекрасно работает.   -  person Joe R.    schedule 13.06.2014


Ответы (1)


Вы можете просто указать строку формата "o" для преобразователя типов.

Map(m => m.ChangeDT).TypeConverterOption("o");
person Matt Johnson-Pint    schedule 16.06.2014