【发布时间】:2018-01-22 03:12:00
【问题描述】:
我有一些自动化的 C# Windows 服务来将文本上传到数据库。 “文本”由我们无法控制的第三方应用程序生成。
我的问题是文本包含日期列。 默认日期格式为 DD/MM/YY。但有时我们会得到 MM/YY/DD
是否有任何棘手的方法可以识别或将 MM/YY/DD 转换为 DD/MM/YY。数据可能只包含三、四天的日期。所以我打算用三四天检查日期是否在公差范围内,它将被接受。其他明智的手动更正它。 例如,
14/08/17 is accepted
08/17/14 is not accepted. Logic should convert this to 14/08/17
有什么想法吗?
【问题讨论】:
-
太模糊了,举个例子和你遇到的问题。您有一个想法,展示使用该想法的代码,然后告诉我们您遇到的问题或该方法为何行不通。
-
您的要求是不可能的。如果输入的日期不明确,例如
01/02/2017,该怎么办?这是正确的方式,它是 2 月 1 日,还是错误的方式,它是 1 月 2 日? -
这恐怕是注定要失败的。如果你得到 17 年 1 月 2 日,那么它可能是 2 月 1 日或 1 月 2 日。除非您可以保证获得一个日期为 13 或更多的值,否则您将无法可靠地做到这一点。
-
@JonSkeet 哈哈,我们使用了相同的日期:)
-
你的第二个例子也可能是 2014 年 8 月 17 日,你不能说这不被任何逻辑所接受
标签: c# validation date