916 Stimmen

Wie kann ich den Wochentag eines Datums ermitteln?

Ich möchte Folgendes herausfinden: Angesichts eines Datums ( datetime Objekt), was ist der entsprechende Wochentag?

Zum Beispiel: Sonntag ist der erste Tag, Montag der zweite Tag und so weiter.

Und dann, wenn die Eingabe etwas wie das heutige Datum ist.

>>> today = datetime.datetime(2017, 10, 20)
>>> today.get_weekday()  # what I look for

Die Ausgabe ist vielleicht 6 (da heute Freitag ist)

3voto

nsky80 Punkte 105
import datetime
import calendar

day, month, year = map(int, input().split())
my_date = datetime.date(year, month, day)
print(calendar.day_name[my_date.weekday()])

Output Probe

08 05 2015
Friday

3voto

So konvertiert man eine Liste von Little-Endian-Strings in datetime :

import datetime, time
ls = ['31/1/2007', '14/2/2017']
for d in ls:    
    dt = datetime.datetime.strptime(d, "%d/%m/%Y")
    print(dt)
    print(dt.strftime("%A"))

2voto

Roman Punkte 14802

Eine einfache, unkomplizierte und immer noch nicht erwähnte Option:

import datetime
...
givenDateObj = datetime.date(2017, 10, 20)
weekday      = givenDateObj.isocalendar()[2] # 5
weeknumber   = givenDateObj.isocalendar()[1] # 42

2voto

Fan Yang Punkte 470

Wenn Sie ein chinesischer Benutzer sind, können Sie dieses Paket verwenden: https://github.com/LKI/chinese-calendar

import datetime

#  2018430 
from chinese_calendar import is_holiday, is_workday
april_last = datetime.date(2018, 4, 30)
assert is_workday(april_last) is False
assert is_holiday(april_last) is True

# 
import chinese_calendar as calendar  #  import
on_holiday, holiday_name = calendar.get_holiday_detail(april_last)
assert on_holiday is True
assert holiday_name == calendar.Holiday.labour_day.value

# 
import chinese_calendar
assert chinese_calendar.is_in_lieu(datetime.date(2006, 2, 1)) is False
assert chinese_calendar.is_in_lieu(datetime.date(2006, 2, 2)) is True

1voto

import numpy as np

def date(df):
    df['weekday'] = df['date'].dt.day_name()

    conditions = [(df['weekday'] == 'Sunday'),
              (df['weekday'] == 'Monday'),
              (df['weekday'] == 'Tuesday'),
              (df['weekday'] == 'Wednesday'),
              (df['weekday'] == 'Thursday'),
              (df['weekday'] == 'Friday'),
              (df['weekday'] == 'Saturday')]

    choices = [0, 1, 2, 3, 4, 5, 6]

    df['week'] = np.select(conditions, choices)

    return df

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X