繁体   English   中英

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

[英]Converting human readable date into integer values

我希望做一些非常简单的事情。 只需将字符串(例如“ december”)转换为我可以在MySQL中使用的东西(例如“ 12”)。

目前,我使用字典

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模块中是否已经存在可以实现此功能的功能? 道歉,如果已经有人问过..我使用搜索找到的问题似乎有些不同。

它是与语言环境相关的,但是您可以使用strptime完成此strptime

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

您可以做的一件事是:

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

'%B'将匹配当月的完整语言环境名称。

在数据库中,通常会有查找表将字符串映射到其键值(通常是int,有时是GUID)。 几个月以来,这可能并不重要,因为每个人都知道第五个月是什么月,但如果您开始在客户端进行翻译以处理更奇怪的事情,例如将状态映射到int,则您做错了。

为了严格正确,数据库应该在查找表中包含此映射,然后应使用该映射进行翻译。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM