【发布时间】:2020-09-19 15:17:41
【问题描述】:
如何检查日期(字符串)是否为 dd/MM/yyyy,然后将其转换为 MM/dd/yyyy。
我有一些欧元格式的日期,例如 - 25/12/2020
我需要检查格式,然后转换为 MM/dd/yyyy - 12/25/2020
因为它是一个字符串.. 我想我唯一能做的就是检查第一个数字是否 > 12?
row["DATE"].ToString().Substring(0, row["DATE"].ToString().IndexOf("/"))) > 12
我是否只能“切换”职位,因为我可以使用日期功能吗
【问题讨论】:
-
你不是想检查这个号码是否已经是 MM/dd/yyyy,我希望?如果是,那么问题在于您的日期为 2020 年 8 月 12 日。是 8 月 12 日还是 12 月 8 日?是否应该转换?
-
看起来您正在从数据库表中读取“日期”列。如果是,那么日期可能以独立于任何格式的方式存储在数据库中。数据库中“DATE”列的数据类型是什么?
-
没有一个明确的解决方案,因此尝试将其自动化绝对是不明智的。您需要定义一个流程,作为人类,您可以通过该流程确定文档的日期是 dd/MM/yyyy 格式还是 MM/dd/yyyy 格式。如果您可以自动化该过程,那就太好了。如果没有,我认为除了提出某种妥协之外没有什么好的解决方案。
-
您能否确定文档的来源,以某种方式从中提取一种文化?如果可以,那么您可能有一个可以使用的 DateTimeFormat。除非这些文档也不遵循特定的文化规则(如欧洲的一些官方社区文档,其中日期格式因文档类型而异)。
-
@Joel Coehoorn 值是字符串 - 各种文档的 OCR 输出。
标签: c#