Ich muss das aktuelle Jahr und den aktuellen Monat in Datum / Uhrzeit haben.
Ich benutze das:
datem = datetime.today().strftime("%Y-%m")
datem = datetime.strptime(datem, "%Y-%m")
Gibt es vielleicht einen anderen Weg?
Ich muss das aktuelle Jahr und den aktuellen Monat in Datum / Uhrzeit haben.
Ich benutze das:
datem = datetime.today().strftime("%Y-%m")
datem = datetime.strptime(datem, "%Y-%m")
Gibt es vielleicht einen anderen Weg?
Antworten:
Verwenden:
from datetime import datetime
today = datetime.today()
datem = datetime(today.year, today.month, 1)
Ich nehme an, Sie wollen den ersten des Monats.
today
Variable hat bereits das aktuelle Jahr und den aktuellen Monat.
from datetime import datetime
nicht einfachimport datetime
Versuchen Sie diese Lösung:
from datetime import datetime
currentSecond= datetime.now().second
currentMinute = datetime.now().minute
currentHour = datetime.now().hour
currentDay = datetime.now().day
currentMonth = datetime.now().month
currentYear = datetime.now().year
.now()
nicht .today()
wie in anderen Antworten verwendet? Die now()
Funktion ist kürzer, wird häufiger verwendet ... aber gibt es einen Grund, sie übereinander zu verwenden, wenn man nur wissen möchte, welches Jahr es ist?
from datetime
und warum brauchst du es?
date
Submodul ( from datetime import date
), das sich nur mit Datumsangaben befasst, das time
Submodul, das sich mit Zeiten befasst, und das leider benannte datetime
Submodul, das beides ausführt. Es gibt auch timedelta
und tzinfo
dort. Man könnte einfach import datetime
das ganze Paket mit allen Submodulen bekommen, aber dann würden Methodenaufrufe wie datetime.datetime.now()
oder aussehen datetime.date.today()
. In der Regel ist es aus mehreren Gründen besser, nur die Komponenten zu importieren, die Sie benötigen.
Verwenden:
from datetime import datetime
current_month = datetime.now().strftime('%m') // 02 //This is 0 padded
current_month_text = datetime.now().strftime('%h') // Feb
current_month_text = datetime.now().strftime('%B') // February
current_day = datetime.now().strftime('%d') // 23 //This is also padded
current_day_text = datetime.now().strftime('%a') // Fri
current_day_full_text = datetime.now().strftime('%A') // Friday
current_weekday_day_of_today = datetime.now().strftime('%w') //5 Where 0 is Sunday and 6 is Saturday.
current_year_full = datetime.now().strftime('%Y') // 2018
current_year_short = datetime.now().strftime('%y') // 18 without century
current_second= datetime.now().strftime('%S') //53
current_minute = datetime.now().strftime('%M') //38
current_hour = datetime.now().strftime('%H') //16 like 4pm
current_hour = datetime.now().strftime('%I') // 04 pm
current_hour_am_pm = datetime.now().strftime('%p') // 4 pm
current_microseconds = datetime.now().strftime('%f') // 623596 Rarely we need.
current_timzone = datetime.now().strftime('%Z') // UTC, EST, CST etc. (empty string if the object is naive).
Referenz: 8.1.7. strftime () und strptime () Verhalten
Referenz: strftime () und strptime () Verhalten
Die oben genannten Dinge sind nützlich für jede Datumsanalyse, nicht nur jetzt oder heute. Es kann für jede Datumsanalyse nützlich sein.
e.g.
my_date = "23-02-2018 00:00:00"
datetime.strptime(str(my_date),'%d-%m-%Y %H:%M:%S').strftime('%Y-%m-%d %H:%M:%S+00:00')
datetime.strptime(str(my_date),'%d-%m-%Y %H:%M:%S').strftime('%m')
Und so weiter...
Sie können die akzeptierte Antwort als Einzeiler schreiben, indem Sie date.replace
:
datem = datetime.today().replace(day=1)
Sie können immer eine Sub-String-Methode verwenden:
import datetime;
today = str(datetime.date.today());
curr_year = int(today[:4]);
curr_month = int(today[5:7]);
Dadurch erhalten Sie den aktuellen Monat und das aktuelle Jahr im Ganzzahlformat. Wenn Sie möchten, dass es sich um Zeichenfolgen handelt, müssen Sie lediglich die Priorität "int" entfernen, während Sie den Variablen curr_year
und Werte zuweisen curr_month
.
datetime.datetime.now().month
ist besser.
Späte Antwort, aber Sie können auch verwenden:
import time
ym = time.strftime("%Y-%m")
date.today().strftime("%Y-%m")
?