将人类可读日期转换为整数值

时间:2010-05-27 12:06:36

标签: python mysql datetime

我希望做一些非常简单的事情。只需将一个字符串(例如'december')转换为可以与MySQL一起使用的字符串(例如'12')。

目前我使用dict,

month_map = {
    'december': '12',
    'november': '11',
    'october': '10',
    'september': '09',
    'august': '08',
    'july': '07',
    'june': '06',
    'may': '05',
    'april': '04',
    'march': '03',
    'february': '02',
    'january': '01'
}

然后month_map.get('december').

标准python模块中是否已经存在任何可以实现此功能的函数?如果已经问过这个问题,我会道歉......我用搜索找到的问题看起来有点不同。

4 个答案:

答案 0 :(得分:2)

它依赖于语言环境,但您可以使用strptime完成此操作:

>>> import datetime
>>> datetime.datetime.strptime('december', '%B').month
12
>>> datetime.datetime.strptime('january', '%B').month
1

答案 1 :(得分:1)

答案 2 :(得分:1)

你可以做的一件事是:

>>> datetime.datetime.strptime('december', '%B').month
12

'%B'将匹配当月的完整区域设置名称。

答案 3 :(得分:1)

在数据库中,您通常有查找表将字符串映射到其键值(通常是整数,有时是GUID)。几个月这可能不是什么大不了的事,因为每个人都知道第5个月是什么,但是如果你开始在客户端进行翻译以获得更多奇怪的事情,例如,将状态映射到整数,那么你做错了。

要严格说明,数据库应该在查找表中包含此映射,然后您应该使用它来进行翻译。