c# - 将两位数年份转换为四位数年份

标签 c# string date

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

//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)

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

Regional settings

关于c# - 将两位数年份转换为四位数年份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2024273/

相关文章:

MySQl DATE Format 将 Varchar 更新为不同格式的日期

date - 在 Hive 中按周计数

c# - 类型可以解析字符串的通用类

c# - 将变量传递给 SSIS 中的项目参数

c# - Ecma-334 是否对下一行(C# ECMA 标准)的描述不正确?

c - C语言中如何从字符串中提取字符?

string - LUA:在双引号中查找并返回字符串

c# - 如何使用动态生成的 ADO.NET 实体数据模型代码进行单元测试

java - 如何将字符串格式化为特定模式

javascript - 使用 jquery/javascript 从日期获取日期