Python - 将月份名称转换为整数

时间:2015-08-03 21:07:56

标签: python datetime

如何使用Datetime将'Jan'转换为整数?当我尝试strptime时,我收到错误time data 'Jan' does not match format '%m'

4 个答案:

答案 0 :(得分:8)

您有一个缩写的月份名称,因此请使用%b

>>> from datetime import datetime
>>> datetime.strptime('Jan', '%b')
datetime.datetime(1900, 1, 1, 0, 0)
>>> datetime.strptime('Aug', '%b')
datetime.datetime(1900, 8, 1, 0, 0)
>>> datetime.strptime('Jan 15 2015', '%b %d %Y')
datetime.datetime(2015, 1, 15, 0, 0)

%m适用于数字月。

但是,如果您只想将缩写的月份映射到数字,只需使用字典即可​​。您可以从calendar.month_abbr

构建一个
import calendar
abbr_to_num = {name: num for num, name in enumerate(calendar.month_abbr) if num}

演示:

>>> import calendar
>>> abbr_to_num = {name: num for num, name in enumerate(calendar.month_abbr) if num}
>>> abbr_to_num['Jan']
1
>>> abbr_to_num['Aug']
8

答案 1 :(得分:1)

关闭袖口 - 你试过%b吗?

答案 2 :(得分:0)

这很简单,您可以考虑只使用字典,然后您的依赖项就会减少。

<div class="clear"></div>
</div>
<footer id="footer" role="contentinfo">
<div id="copyright">
<?php echo sprintf( __( '%1$s %2$s %3$s. All Rights Reserved.', 'blankslate' ), '&copy;', date( 'Y' ), esc_html( get_bloginfo( 'name' ) ) ); echo sprintf( __( ' Theme By: %1$s.', 'blankslate' ), '<a href="http://tidythemes.com/">TidyThemes</a>' ); ?>
</div>
</footer>
</div>
<?php wp_footer(); ?>
</body>
</html>

答案 3 :(得分:0)

from calendar import month_abbr
month = "Jun"
for k, v in enumerate(month_abbr):
    if v == month:
        month = k
        break
print(month)

6

您将获得第6个月的数量