我想了解以下内容:给定一个日期(datetime对象),一周中对应的日期是什么?
例如,星期天是第一天,星期一是第二天。。等等
然后如果输入的内容类似于今天的日期。
实例
>>> today = datetime.datetime(2017, 10, 20)
>>> today.get_weekday() # what I look for
产量可能是6(因为现在是星期五)
我想了解以下内容:给定一个日期(datetime对象),一周中对应的日期是什么?
例如,星期天是第一天,星期一是第二天。。等等
然后如果输入的内容类似于今天的日期。
实例
>>> today = datetime.datetime(2017, 10, 20)
>>> today.get_weekday() # what I look for
产量可能是6(因为现在是星期五)
当前回答
这是一个新的方法。星期天是0。
from datetime import datetime
today = datetime(year=2022, month=6, day=17)
print(today.toordinal()%7) # 5
yesterday = datetime(year=1, month=1, day=1)
print(today.toordinal()%7) # 1
其他回答
datetime库有时会出现strptime()错误,所以我切换到dateutil库。下面是一个如何使用它的示例:
from dateutil import parser
parser.parse('January 11, 2010').strftime("%a")
您从中获得的输出是“Mon”。如果希望输出为“星期一”,请使用以下命令:
parser.parse('January 11, 2010').strftime("%A")
这对我很快奏效。我在使用日期时间库时遇到了问题,因为我想存储工作日名称而不是工作日编号,而使用日期时间的格式导致了问题。如果你对此没有问题,那太好了!如果你是这样的话,你可以明确地这样做,因为它的语法也更简单。希望这有帮助。
如果你想用英语约会:
from datetime import datetime
datetime.today().strftime('%A')
'Wednesday'
阅读更多信息:https://docs.python.org/3/library/datetime.html#strftime-结构时间行为
import datetime
int(datetime.datetime.today().strftime('%w'))+1
这应该会给你一个真实的数字-1=星期天,2=星期一,等等。。。
以下是以DD-MM-YYYY格式输入日期的代码。您可以通过更改“%d-%m-%Y”的顺序以及更改分隔符来更改输入格式。
import datetime
try:
date = input()
date_time_obj = datetime.datetime.strptime(date, '%d-%m-%Y')
print(date_time_obj.strftime('%A'))
except ValueError:
print("Invalid date.")
假设你得到了日期、月份和年份,你可以做到:
import datetime
DayL = ['Mon','Tues','Wednes','Thurs','Fri','Satur','Sun']
date = DayL[datetime.date(year,month,day).weekday()] + 'day'
#Set day, month, year to your value
#Now, date is set as an actual day, not a number from 0 to 6.
print(date)