C# DateTime.TryParse取决于区域设置(格式),可以';t以dd.M.yyyy格式分析日期。具有年底

C# DateTime.TryParse取决于区域设置(格式),可以';t以dd.M.yyyy格式分析日期。具有年底,c#,datetime,parsing,regional-settings,C#,Datetime,Parsing,Regional Settings,有人知道为什么它不能被解析吗。区域设置(格式)为马其顿语(北马其顿语)。 当我将区域设置更改为塞尔维亚语(拉丁语,塞尔维亚语)时,它会工作并返回d作为{22.9.1972.00:00:00} //obj.ToString() = "22.9.1972. 0:00:00" -- this is obj value and it should be parsed DateTime d = DateTime.MinValue; if (DateTime.TryParse(obj.ToString

有人知道为什么它不能被解析吗。区域设置(格式)为马其顿语(北马其顿语)。 当我将区域设置更改为塞尔维亚语(拉丁语,塞尔维亚语)时,它会工作并返回d作为{22.9.1972.00:00:00}

//obj.ToString() = "22.9.1972. 0:00:00" -- this is obj value and it should be parsed 

DateTime d = DateTime.MinValue;

if (DateTime.TryParse(obj.ToString(), out d))
          return d;

如果我的语言错误,请编辑您的标记以指定正确的标记。这将有助于将注意力集中在你的问题上。澄清一下,这是作为文化ID的
mk
吗?我刚刚尝试过这个,我可以复制它-但没有1972年后的“.”就可以了。请注意,将结果格式化为“mk mk”会为我生成“22.9.1972 00:00:00”-同样,1972年后没有句点。如果区域格式为,,马其顿(北马其顿)“此代码不会解析日期。使用区域格式,,,塞尔维亚(拉丁语,塞尔维亚)”就可以了。