我试图让我的应用程序处理来自字符串的 DateTimes 的一些转换。为了处理不同的文化,我指定了我希望转换使用的文化。我以为这已经涵盖了我,但我发现您可以更改该系统如何定义“en-US”的特定元素,例如长日期模式和短日期模式。在这些情况下,当被解析的日期是 MM/dd/yyyy 格式时,下面的代码不起作用。
CultureInfo c = new CultureInfo("en-US");
string[] permissions = Regex.Split(permissionData, @"\r\n");
foreach (string permission in permissions)
{
string[] details = permission.Split(',');
this.Add(new WPermission()
{
WRegion = Convert.ToInt32(details[0],c),
StartDate = Convert.ToDateTime(details[1],c),
EndDate = Convert.ToDateTime(details[2],c)
});
}
我的问题是:有没有办法访问“en-US”的默认定义,并加载它而不是用户定义的版本,还是我降级到类似的东西ParseExact
?请注意,我无法控制我正在解析的字符串的源格式,它是第三方的。
谢谢!