C# 日期时间解析精确
我正在尝试将日期格式从C# 日期时间解析精确,c#,parsing,datetime,datetime-format,C#,Parsing,Datetime,Datetime Format,我正在尝试将日期格式从“4/01/2013 0:00:00”更改为“01/4/2013 00:00:00” 不管我得到什么 “字符串未重新编码为有效的日期时间。” 您的年份部分是yy,但应该是yyy,因为您使用的是4位数的年份。 此外,小写字母m表示分钟,而不是月份,在大写字母m中表示月份。您的代码应该如下所示: string fromDate = "4/01/2013 0:00:00"; DateTime dt = DateTime.ParseExact(fromDate, "M/dd/yyy
“4/01/2013 0:00:00”
更改为“01/4/2013 00:00:00”
不管我得到什么
“字符串未重新编码为有效的日期时间。”
您的年份部分是
yy
,但应该是yyy
,因为您使用的是4位数的年份。
此外,小写字母m
表示分钟,而不是月份,在大写字母m
中表示月份。您的代码应该如下所示:
string fromDate = "4/01/2013 0:00:00";
DateTime dt = DateTime.ParseExact(fromDate, "M/dd/yyyy H:mm:ss", CultureInfo.InvariantCulture);
string formattedDate = dt.ToString("dd/M/yyyy HH:mm:ss");
您正在执行
fromDate.ToString()
,如果fromDate
已经是一个字符串,您不必调用ToString
,如果它是一个日期类型,那么您不必解析它,而是可以直接格式化它。如果fromDate
已经是一个字符串,为什么ToString
?您的问题是解析到日期还是从日期获取字符串?这里的月份和日期:4/01
/01/4
(您可以选择更好的示例日期)?@TimSchmelter更重要的是,如果fromDate已经是一个日期,为什么要经历所有这些麻烦,而您可以使用ToString和一种格式开始呢?为什么会有这么多的反对票?这是一个很有道理的问题。有时我觉得社区对“新手”有偏见。
string fromDate = "4/01/2013 0:00:00";
DateTime dt = DateTime.ParseExact(fromDate, "M/dd/yyyy H:mm:ss", CultureInfo.InvariantCulture);
string formattedDate = dt.ToString("dd/M/yyyy HH:mm:ss");