3 回答
TA贡献2019条经验 获得超9个赞
如果使用DateTime.ParseExact()几个人建议的-方法,则应仔细考虑在非英语环境中运行应用程序时要发生的事情!
在丹麦,哪个工作ParseExact("Januar", ...),ParseExact("January", ...)应该工作,哪个应该失败?
这将是之间的差异CultureInfo.CurrentCulture和CultureInfo.InvariantCulture。
TA贡献1784条经验 获得超7个赞
一种简单的解决方案是使用名称和值创建一个Dictionary。然后使用Contains()可以找到正确的值。
Dictionary<string, string> months = new Dictionary<string, string>()
{
{ "january", "01"},
{ "february", "02"},
{ "march", "03"},
{ "april", "04"},
{ "may", "05"},
{ "june", "06"},
{ "july", "07"},
{ "august", "08"},
{ "september", "09"},
{ "october", "10"},
{ "november", "11"},
{ "december", "12"},
};
foreach (var month in months)
{
if (StringThatContainsMonth.ToLower().Contains(month.Key))
{
string thisMonth = month.Value;
}
}
- 3 回答
- 0 关注
- 376 浏览
添加回答
举报