0

我对python很陌生,对它了解不多,但我需要制作一个小脚本,当有人以任何格式输入日期时,它会将其转换为 yyyy-mm-dd 格式。该脚本应该能够共享输入日期的元素,并识别模式。

对某些人来说这可能很容易而且很明显,但我自己做一个是我头上的事。

提前致谢!

4

3 回答 3

2

这对自己来说是一项艰巨的任务;你可能想看看dateutil哪个有一个相当健壮的parse()方法,你可以用它来尝试解析任意格式的日期字符串。

于 2012-12-21T14:38:18.373 回答
1

您可以strftime用于输出(您的格式是"%Y-%M-%d")。

对于解析输入,有一个相应的函数 - strptime。但是您将无法处理“任何格式”。你必须首先知道你得到了什么。否则,您将无法区分(例如)美国日期和其他日期。例如,01.02.03 是什么意思?这可能是:

  • 年年月日
  • dd.mm.yy
  • mm.dd.yy
于 2012-12-21T14:38:19.463 回答
1

你可以做这样的事情(未经测试)

import locale
import datetime
...
parsedDate = datetime.strptime(your_string, locale.D_FMT)
print datetime.strftime(parsedDate, "%Y-%M-%d")

这假定用户将使用自己的本地日期约定。

于 2012-12-21T14:43:28.643 回答