这是最佳做法的问题。我有一个实用程序,可以将两位数字的年份作为字符串,并且需要将其转换为四位数的年份作为字符串。现在我做

//DOB's format is "MMM (D)D YY" that first digit of the day is not there for numbers 1-9
string tmpYear = rowIn.DOB.Substring(rowIn.DOB.Length - 3, 2); //-3 because it is 0 indexed
if (Convert.ToInt16(tmpYear) > 50)
    tmpYear = String.Format("19{0}", tmpYear);
else
    tmpYear = String.Format("20{0}", tmpYear);

我确定我做错了什么,有没有指针?

最佳答案

.NET框架具有一种完全可以满足您需要的方法:

int fourDigitYear = CultureInfo.CurrentCulture.Calendar.ToFourDigitYear(twoDigitYear)

这样,您将正确遵守“控制面板”(或组策略)中定义的当前区域设置:

09-04 18:34