我尝试使用以下代码解析提供指定格式的日期:
var date = "30/06/2014";
var ret2 = DateTime.ParseExact(date, "dd/mm/yyyy", null);
var ret3 = DateTime.ParseExact(date, "dd/mm/yyyy", CultureInfo.CurrentCulture);
var ret4 = DateTime.ParseExact(date, "dd/mm/yyyy", CultureInfo.InvariantCulture);
Console.WriteLine(ret2);
Console.WriteLine(ret3);
Console.WriteLine(ret4);
-----OUTPUT-----
30/01/2014 00:06:00
30/01/2014 00:06:00
30/01/2014 00:06:00
有人可以解释一下为什么这段代码没有返回我期待的30/06/2014 00:00:00
值吗?
答案 0 :(得分:6)
mm
是分钟的占位符。你应该使用MM
几个月
答案 1 :(得分:2)
mm
表示分钟,而不是数月。请尝试使用MM
。
答案 2 :(得分:1)
如上所述,mm
表示会议记录 - 请注意每个日期时间的分钟数为06:00
而不是默认00:00
,而1
是一个月的默认值(因为没有0
个月)。
答案 3 :(得分:0)
代码使用了错误的格式字符串
var ret2 = DateTime.ParseExact(date, "dd/mm/yyyy", null);
var ret3 = DateTime.ParseExact(date, "dd/mm/yyyy", CultureInfo.CurrentCulture);
var ret4 = DateTime.ParseExact(date, "dd/mm/yyyy", CultureInfo.InvariantCulture);
mm是占位符分钟。 要获得月份,请使用格式字符串
中的MMvar ret2 = DateTime.ParseExact(date, "dd/MM/yyyy", null);
var ret3 = DateTime.ParseExact(date, "dd/MM/yyyy", CultureInfo.CurrentCulture);
var ret4 = DateTime.ParseExact(date, "dd/MM/yyyy", CultureInfo.InvariantCulture);
查看MSDN https://msdn.microsoft.com/en-us/library/w2sa9yss(v=vs.110).aspx
上的示例