将自定义日期格式(字符串)转换为日期时间

时间:2010-07-30 16:08:32

标签: c# .net datetime .net-4.0

我有一大组(1亿多个)观察结果,日期表示为自定义字符串格式。我们没有生成日期字符串,我只需要将日期字符串转换为日期时间类型。

如何将字符串日期(例如,2010年6月12日)转换为日期时间?我的想法是将字符串解析为组件,以正确的顺序组装它们,并将该字符串传递给datetime的构造函数。有没有办法将datetime()传递给自定义日期格式字符串?

谢谢!

3 个答案:

答案 0 :(得分:27)

查看DateTime.ParseExact,例如

var dateTime = DateTime.ParseExact(
    "12 JUN 2010", 
    "dd MMM yyyy", 
    CultureInfo.InvariantCulture);

您还可以指定第四个参数来设置日期/时间的Kind,例如,如果它们是UTC日期/时间,那么您可能想要指定DateTimeStyles.AssumeUniversal

答案 1 :(得分:2)

您可以使用DateTime.ParseExact,并使用custom date and time format strings将格式传递给此方法。这将允许您一次解析日期。

答案 2 :(得分:0)

该DateTime字符串对DateTime.Parse()(或.TryParse()

有效

至于.Parse()无法处理的真正自定义字符串,你可能是正确的,你需要拆开你的字符串并以有用的方式重新组装它。