C# 无法分析日期
我正在尝试解析此日期:C# 无法分析日期,c#,date,datetime,C#,Date,Datetime,我正在尝试解析此日期:2018年1月1日与ParseExact: var date = DateTime.ParseExact(context.MatchDate, "d MMMM yyyy", new CultureInfo("it-IT")).ToString("dd MMMM yyyy"); 但我得到了这个错误: 字符串未被识别为有效的日期时间 我知道这个问题已经发布了,但格式不正确吗?一月不是意大利语。在意大利语中,第一个月的名字是“” 你需要使用基于英语的文化来解析这个英文月名 va
2018年1月1日
与ParseExact
:
var date = DateTime.ParseExact(context.MatchDate, "d MMMM yyyy", new CultureInfo("it-IT")).ToString("dd MMMM yyyy");
但我得到了这个错误:
字符串未被识别为有效的日期时间
我知道这个问题已经发布了,但格式不正确吗?一月不是意大利语。在意大利语中,第一个月的名字是“”
你需要使用基于英语的文化来解析这个英文月名
var date = DateTime.ParseExact("1 January 2018",
"d MMMM yyyy",
CultureInfo.InvariantCulture);
来自
“MMMM”自定义格式说明符表示
一个月从中检索月份的本地化名称
DateTimeFormatInfo.MonthNames
当前或指定的
文化
问题是你要求意大利文化信息组织理解一个月的英语写作。您的答案如下。该日期在其所在的文化中不被识别。所以像索纳建议的那样使用InveriantCulture。我知道,我需要用意大利语翻译日期,在我的代码中,我添加了“it it it”作为文化,也许你的意思是,如果日期是英语,我需要指定一个不变量文化?谢谢你的回答,新年快乐@是的,如果要解析基于英语的月份、日期等名称,必须指定基于英语的区域性,如
InvariantCulture
。除此之外,没有其他解析方法。不要进入翻译过程。你不需要它。只要使用适当的文化,你就没事了。祝你新年快乐!