我正在使用正则表达式,我想将 dd/mm/yy
转换为完整的 dd/mm/yyyy
。
例如。用户输入他的出生日期:01/11/94
该程序将年份 94
转换为 1994
。
现在如果用户输入出生日期:01/11/09
该程序将年份 09
转换为 01/11/2009
,因为它不能是 1909
。除非你是吸血鬼。
现在如果用户输入出生日期:01/11/15
该程序让用户继续键入,因为它是当前年份。 2015
。有必要在此处加入当前日期有效性检查功能。
我已经走到这一步了,但我需要帮助才能使其完全发挥作用。 如果您想提供帮助,我可以向您展示一些我创建的代码。
最佳答案
有专门用于执行此操作的工具比正则表达式处理提供更多值(value)。
要使用的工具是 DateTime
及其 ParseExact使用适当的日期格式规范进行转换。
这里有四个例子,结果在评论中:
DateTime.ParseExact("01/02/15", "MM/dd/yy", CultureInfo.InvariantCulture)
.ToString("MM/dd/yyyy"); // 01/02/2015
DateTime.ParseExact("01/02/93", "MM/dd/yy", CultureInfo.InvariantCulture)
.ToString("MM/dd/yyyy"); // 01/02/1993
DateTime.ParseExact("01/02/00", "MM/dd/yy", CultureInfo.InvariantCulture)
.ToString("MM/dd/yyyy"); // 01/02/2000
DateTime.ParseExact("01/02/09", "MM/dd/yy", CultureInfo.InvariantCulture)
.ToString("MM/dd/yyyy") // 01/02/2009
关于c# - 使用正则表达式将 dd/mm/yy 转换为 dd/mm/yyyy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30897719/