如何使用Datetime将'Jan'转换为整数?当我尝试strptime时,我收到错误time data 'Jan' does not match format '%m'
答案 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' ), '©', 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个月的数量