У меня есть столбец в CSV со значением: 14/04/20 09: 44
FECHA_FRANQUEO | ID_INCIDENCIA | CIF | PERSONA_CONTACTO
14/04/20 09: 44 | 7093927 | bbbbbbbbb | RAFA
14/04/20 09: 02 | 7093933 | aaaaaaaaa | Мария / Роджер
Я использую FileHelpers в C# для чтения файла CSV.
[Serializable]
[FileHelpers.DelimitedRecord("|")]
public partial class ArchivoCliente
{
[FileHelpers.FieldHidden]
public int Indice { get; set; } // int, not null
[FileHelpers.FieldConverter(FileHelpers.ConverterKind.Date, "dd/MM/yy HH:mm")] // "dd'/'MM'/'yyyy"
public DateTime FECHA_FRANQUEO { get; set; } // datetime2(7), not null
public string ID_INCIDENCIA { get; set; } // nvarchar(7), not null
public string CIF { get; set; } // nvarchar(9), not null
public string PERSONA_CONTACTO { get; set; } // nvarchar(50), not null
}
Я получаю сообщение об ошибке:
FileHelpers.ConvertException: Ошибка преобразования «FECHA_FRANQUEO» в тип: «DateTime». Используя формат: 'дд / мм / гг чч: мм'
Я использую
[FileHelpers.FieldConverter(FileHelpers.ConverterKind.Date, "dd/MM/yy HH:mm")] // "dd'/'MM'/'yyyy"
public DateTime FECHA_FRANQUEO { get; set; } // datetime2(7), not null
или
[FileHelpers.FieldConverter(FileHelpers.ConverterKind.DateMultiFormat, "dd'/'MM'/'yy HH:mm", "dd/'MM/yy HH:mm")] // "dd'/'MM'/'yyyy"
public DateTime FECHA_FRANQUEO { get; set; } // datetime2(7), not null
Этот код работает:
var ff = "14/04/20 09:44";
var dt = DateTime.ParseExact(ff, "dd/MM/yy HH:mm", CultureInfo.InvariantCulture);
Есть предложения?