Python datetime中如何用字符串设置月份及计算日期天数差
问题1:如何用字符串形式的月份创建新日期?
直接写成y = datetime.datetime(2020, May, 17)不可行,因为May不是Python能识别的内置参数。可以通过以下两种方式实现需求:
方法一:用
datetime.strptime解析日期字符串
将包含月份名称的日期字符串直接解析为datetime对象:import datetime date_str = "2020 May 17" y = datetime.datetime.strptime(date_str, "%Y %b %d") print(y) # 输出: 2020-05-17 00:00:00格式说明:
%b对应缩写月份名(如May),如果是全拼月份名可以用%B,需注意大小写匹配。方法二:手动映射月份名到数字
先创建月份名与对应数字的字典,再传入datetime构造函数:import datetime month_map = { "Jan": 1, "Feb": 2, "Mar": 3, "Apr": 4, "May": 5, "Jun": 6, "Jul": 7, "Aug": 8, "Sep": 9, "Oct": 10, "Nov": 11, "Dec": 12 } y = datetime.datetime(2020, month_map["May"], 17) print(y) # 输出: 2020-05-17 00:00:00
问题2:如何只显示两个时间的天数差?
你找到的方法是正确的,直接访问timedelta对象的days属性即可获取整数形式的天数差,不会包含时分秒信息:
import datetime x = datetime.datetime(2024, 5, 17) now = datetime.datetime.now() print('Time difference:', (x - now).days)
内容的提问来源于stack exchange,提问作者andrew
相关产品推荐
相关产品推荐

