在C#中从特定日期字符串转换.ToDateTime

时间:2013-02-07 16:35:12

标签: c# .net .net-3.5

我有一个具体的日期string"13/02/07,16:05:13+00"

我正在尝试将其转换为C#datetimeConvert.toDateTime),但我一直收到错误。

我也尝试使用以下代码解析它无济于事:

 DateTime dt = DateTime.ParseExact(date, "yy/MM/dd,hh:mm:ss+00",System.Globalization.CultureInfo.CurrentCulture);

如何为真正具体的string datetime转换datetimestring

2 个答案:

答案 0 :(得分:4)

不要使用CurrentCulture - 使用不变文化。否则,您将获取当前文化的日期和时间分隔符。

此外,您需要使用HH代替hh,因为您使用的是24小时制,而不是12小时制。这很好用:

using System;
using System.Collections.Generic;
using System.Globalization;

class Test
{
    static void Main()
    {
        string date = "13/02/07,16:05:13+00";
        DateTime dt = DateTime.ParseExact(date, "yy/MM/dd,HH:mm:ss+00",
                                          CultureInfo.InvariantCulture);
        Console.WriteLine(dt);
    }
}

“+00”肯定会一样吗?如果你需要应对非零偏移,它会改变一些事情。

答案 1 :(得分:0)

使用军事时间时,使用HH作为小时组件。

DateTime dt = DateTime.ParseExact("13/02/07,16:05:13+00", "yy/MM/dd,HH:mm:ss+00",System.Globalization.CultureInfo.CurrentCulture);