使用CSVHelper强制ISO 8601

Joe*_* R. 4 c# datetime iso8601 datetimeoffset 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"));
Run Code Online (Sandbox Code Playgroud)

虽然上面的代码产生:

6/10/2014 12:00:00 AM -05:00
Run Code Online (Sandbox Code Playgroud)

我正在寻找输出的是:

2014-06-10 12:00:00.1234567 -05:00
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

Mat*_*int 5

你可以简单地提供"o"格式字符串的类型转换器.

Map(m => m.ChangeDT).TypeConverterOption("o");
Run Code Online (Sandbox Code Playgroud)