Skip to main content
 首页 » 编程设计

python之Iterable Datetime之如何在 Python 中获取具有日期名称的连续日期时间对象

2025年05月04日22me-sa

我想用它的 datetime 对象创建一周中每一天的映射。所以我的字典应该有“星期一”、“星期二”等键,这样我就可以在下一个(!)周的每一天获得一个 datetime 对象。

目前我有一本包含这些值的字典:

DAYS_DATETIME_RELATIONS = { 
    "today": datetime.datetime.now(), 
    "tomorrow": datetime.datetime.now() + datetime.timedelta(days=1), 
    "after_tomorrow": datetime.datetime.now() + datetime.timedelta(days=2) 
} 

不幸的是,我找不到任何算法解决方案,希望你们中的任何人能帮助我。

请您参考如下方法:

这可以通过以下方式使用 2 个字典来实现:

import calendar 
import datetime 
 
days = {i: calendar.day_name[i-1] for i in range(7)} 
 
today = datetime.datetime.now() 
 
# using i % 7 so an arbitrary range can be used, for example 
# range(7, 15) to get the week after the next week  
next_week = {days[i % 7]: (today + datetime.timedelta(days=i)).date() 
             for i in range(7)} 
 
print(next_week) 
#  {'Tuesday': datetime.date(2018, 1, 9), 'Sunday': datetime.date(2018, 1, 7),  
#   'Monday': datetime.date(2018, 1, 8), 'Thursday': datetime.date(2018, 1, 11),  
#   'Wednesday': datetime.date(2018, 1, 10), 'Friday': datetime.date(2018, 1, 12),  
#   'Saturday': datetime.date(2018, 1, 13)} 
 
print(next_week['Saturday']) 
# 2018-01-13