【发布时间】:2018-10-21 00:43:34
【问题描述】:
有人要求我将数据从一个表迁移到另一个表。旧数据包括以用户当时喜欢使用的任何格式混合输入的一系列日期,新格式需要在 MM/YYYY 中单独的 FROM 日期和 TO 日期字段。
因此,有些日期是单个日期,例如 DD.MM.YYYY 或 DD/MM/YY 或 DD YYYY 或 YYYY 或其他任何日期。有些日期是两个日期,例如 DD.MM.YYYY-DD/YYYY 或 DD/MM/YY--DD/MM/YYYY。所以只是一团糟。只有几百行,但如果可以避免的话,我不想手动更改它们。
Google 的大多数结果都是用于将一种格式转换为另一种格式,我如何才能将一堆格式转换为一种格式?
【问题讨论】:
-
标准化可能需要大量工作。我会试着看看你能识别出多少种不同的模式。有些会很容易,有些会很难。有些必须手工完成。一旦您知道使用了哪些模式/格式,您就可以使用
strtotime()将其转换为诸如 unix 时间戳之类的合理内容,然后您可以稍后以您需要/想要的任何格式显示。 php.net/manual/en/function.strtotime.php -
DD YYYY?真的吗?没有真正的方法可以知道
06 11 12是 11 月 6 日还是 6 月 11 日,甚至是别的什么。世界上没有任何代码可以解析人类可以组成的所有不同格式。 -
在这种情况下,我的意思是 MM 而不是 DD。