无论Python中的日历周数如何,如何获取一天的周数?

时间:2019-09-23 06:13:06

标签: python python-3.x

无论Python中的日历周如何,如何获取当天的周号?

我正在寻找“ nth_week_number”列。在下表中,“ 2/5/2018”将落在2018年2月的第二个星期,但这是该月的第一个星期一。请有人帮助解决此问题。 我使用Pythno 3.7。

Date        | Weekday   | week _of_the_month | nth_week_number |
|-----------|-----------|--------------------|-----------------|
| 2/1/2018  | Thursday  | 1                  | 1st Thrusday    |
| 2/2/2018  | Friday    | 1                  | 1st Friday      |
| 2/3/2018  | Saturday  | 1                  | 1st Saturday    |
| 2/4/2018  | Sunday    | 2                  | 1st Sunday      |
| 2/5/2018  | Monday    | 2                  | 1st Monday      |
| 2/6/2018  | Tuesday   | 2                  | 1st Tuesday     |
| 2/7/2018  | Wednesday | 2                  | 1st Wednesday   |
| 2/8/2018  | Thursday  | 2                  | 2nd Thrusday    |
| 2/9/2018  | Friday    | 2                  | 2nd Friday      |
| 2/10/2018 | Saturday  | 2                  | 2nd Saturday    |
| 2/11/2018 | Sunday    | 3                  | 2nd Sunday      |
| 2/12/2018 | Monday    | 3                  | 2nd Monday      |
| 2/13/2018 | Tuesday   | 3                  | 2nd Tuesday     |

2 个答案:

答案 0 :(得分:0)

下面的代码段将为您提供星期几和日期

        import datetime
        import calendar
        day_of_month = datetime.datetime(2018,2,11).day
        week_number = (day_of_month - 1) // 7 + 1
        print(week_number, datetime.datetime(2018,2,11).strftime("%A")) 

答案 1 :(得分:0)

data = {'date_x': ['2018-02-13']}
df = pd.DataFrame(data, columns = ['date_x'])
df['formatted_date'] = pd.to_datetime('2018-02-13')
df['date']=pd.to_datetime(df['date_x'])
df['first_day_aux']=pd.to_datetime(df['date_x'][0][:8]+'01') 
df['day']=df['date'].dt.day 
df['adjusted_dom']=df['day']+df['first_day_aux'].dt.dayofweek
df['year'] = pd.DatetimeIndex(df['formatted_date']).year
df['month'] = pd.DatetimeIndex(df['formatted_date']).month
df['day'] = pd.DatetimeIndex(df['formatted_date']).day
df['weekday'] = datetime.datetime(df['year'],df['month'],df['day']).strftime("%A")
df['day_of_month'] = datetime.datetime(df['year'],df['month'],df['day']).day
df['week']=np.int_(np.ceil(df['adjusted_dom']/7.0))
df['week number'] = (df['day_of_month'] - 1 ) // 7 + 1
print(df)