c# - 使用正则表达式将 dd/mm/yy 转换为 dd/mm/yyyy

标签 c# regex masking date

我正在使用正则表达式,我想将 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/

相关文章:

c# - ORMLite/服务栈 : Joining Multiple Nested Tables Together

javascript - 如何使用正则表达式查找javascript变量的值?

python - 使用python在html源代码中查找图像

swift - 如何屏蔽字符串以仅显示最后 3 个字符?

javascript - Uncaught ReferenceError : method is not defined

c# - 如何在 while 循环中声明公共(public)字符串 (C#)

javascript - 从 REACT.jsx 中的用户输入中获取数字的最后五位

regex - Dart如何将逗号添加到字符串编号

c# - 如何在 XBAP 应用程序中使用 BinaryFormatter 反序列化流?

javascript - 如何创建单个 JavaScript 正则表达式来匹配长度和多个约束?