c# - 使用属性将 YYYYMMDD 字符串转换为日期

标签 c# datetime filehelpers

我正在使用 FileHelper 从 CSV 文件填充数据。 该文件的日期为 YYYYMMDD 字符串。

例如

19880312,20120505,20121231 ...

同样的模型是

class PatientData
{
    public DateTime DateOfBirth{get;set;}
    //Some Other Columns
}

导入代码是:

FileHelperEngine engine = new FileHelperEngine(typeof(PatientData));
PatientData[] clientes = (PatientData[])engine.ReadFile(@"Path to CSV");

我遇到的问题是 20121212 被转换为 20th Dec 1212 (DDMMYYYY) 而不是 YYYYMMDD。

尝试在 DateTime 上使用属性,但不知道如何获取其中的初始字符串值。

TIA

最佳答案

您需要使用 FieldConverterAttribute 注释您的属性。这是官方文档的链接 http://www.filehelpers.net/quickstart/

像这样的东西就可以了。

public class PatientData
{
    [FieldConverter(ConverterKind.Date, "yyyyMMdd")]
    public DateTime DateOfBirth{ get; set; }
    //Some Other Columns
}

注意您的日期格式字符串。查看选项的完整列表 here . c# 中没有大写的 YYYY 模式。

关于c# - 使用属性将 YYYYMMDD 字符串转换为日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30049930/

相关文章:

c# - 双击 View 事件

c# - 验证不适用于 kendo UI 多选

ios - 比较 iOS 中的时间以允许用户再次发布

python - 减去从字符串转换的日期时间时,total_seconds() 是错误的

asp.net - Filehelpers Excel 到 Oracle db

c# - 将 recaptcha(具有自定义外观)与 asp.net 集成

c# - 为什么使用对象初始值设定项可以使对象保持事件状态?

具有 ISO 格式的 Python UTC 时间戳

c# - 没有参数的 F# 类构造函数 --- 使用 f# 的 filehelpers 时出错

c# - 具有泛型的 FileHelpers 主/详细记录