1

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

我正在尝试将其转换C#datetime( Convert.toDateTime) 但我不断收到错误。

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

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

如何将 a 转换stringdatetime真正特定的datetime string.

4

2 回答 2

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”肯定总是一样的吗?如果您需要处理非零偏移量,它会稍微改变一下。

于 2013-02-07T16:38:32.557 回答
0

使用HH军用时间时用于小时部分。

DateTime dt = DateTime.ParseExact("13/02/07,16:05:13+00", "yy/MM/dd,HH:mm:ss+00",System.Globalization.CultureInfo.CurrentCulture);
于 2013-02-07T16:48:02.180 回答