我有一个具体的日期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);
如何为真正具体的string
datetime
转换datetime
到string
。
答案 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);