我想了解以下内容:给定一个日期(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(因为现在是星期五)
当前回答
假设你得到了日期、月份和年份,你可以做到:
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)
其他回答
这不需要每周的评论。我推荐这个代码~!
import datetime
DAY_OF_WEEK = {
"MONDAY": 0,
"TUESDAY": 1,
"WEDNESDAY": 2,
"THURSDAY": 3,
"FRIDAY": 4,
"SATURDAY": 5,
"SUNDAY": 6
}
def string_to_date(dt, format='%Y%m%d'):
return datetime.datetime.strptime(dt, format)
def date_to_string(date, format='%Y%m%d'):
return datetime.datetime.strftime(date, format)
def day_of_week(dt):
return string_to_date(dt).weekday()
dt = '20210101'
if day_of_week(dt) == DAY_OF_WEEK['SUNDAY']:
None
在MATLAB中,高斯方法
day_name={'Sun','Mon','Tue','Wed','Thu','Fri','Sat'}
month_offset=[0 3 3 6 1 4 6 2 5 0 3 5]; % common year
% input date
y1=2022
m1=11
d1=22
% is y1 leap
if mod(y1,4)==0 && mod(y1,100)==0 && mod(y1,400)==0
month_offset=[0 3 4 0 2 5 0 3 6 1 4 6]; % offset for leap year
end
% Gregorian calendar
weekday_gregor=rem( d1+month_offset(m1) + 5*rem(y1-1,4) + 4*rem(y1-1,100) + 6*rem(y1-1,400),7)
day_name{weekday_gregor+1}
0:星期日1:星期一。。6:星期六
假设你得到了日期、月份和年份,你可以做到:
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)
如果日期是datetime对象,这是一个解决方案。
import datetime
def dow(date):
days=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]
dayNumber=date.weekday()
print days[dayNumber]
假设您有timeStamp:字符串变量YYYY-MM-DD HH:MM:SS
步骤1:使用blow代码将其转换为dateTime函数。。。
df['timeStamp'] = pd.to_datetime(df['timeStamp'])
步骤2:现在您可以提取所有必需的功能,如下所示,这将为每个字段创建新的列-小时、月、星期、年、日期
df['Hour'] = df['timeStamp'].apply(lambda time: time.hour)
df['Month'] = df['timeStamp'].apply(lambda time: time.month)
df['Day of Week'] = df['timeStamp'].apply(lambda time: time.dayofweek)
df['Year'] = df['timeStamp'].apply(lambda t: t.year)
df['Date'] = df['timeStamp'].apply(lambda t: t.day)