Je dois avoir l'année et le mois en cours dans datetime.
J'utilise ceci:
datem = datetime.today().strftime("%Y-%m")
datem = datetime.strptime(datem, "%Y-%m")
Y a-t-il peut-être un autre moyen?
Je dois avoir l'année et le mois en cours dans datetime.
J'utilise ceci:
datem = datetime.today().strftime("%Y-%m")
datem = datetime.strptime(datem, "%Y-%m")
Y a-t-il peut-être un autre moyen?
Réponses:
Utilisation:
from datetime import datetime
today = datetime.today()
datem = datetime(today.year, today.month, 1)
Je suppose que vous voulez le premier du mois.
todayvariable a déjà l'année et le mois en cours.
from datetime import datetimeplutôt que simplementimport datetime
Essayez cette solution:
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()plutôt que .today()tel qu'il est utilisé dans d' autres réponses? La now()fonction est plus courte, elle est plus couramment utilisée ... mais y a-t-il une raison d'utiliser l'une sur l'autre alors que tout ce que l'on veut savoir c'est de quelle année il s'agit?
from datetime-on et pourquoi en avez-vous besoin?
datesous - module ( from datetime import date) qui ne traite que des dates, le timesous - module qui traite des heures, et le datetimesous - module malheureusement nommé qui fait les deux. Il y a aussi timedeltaet tzinfolà-dedans. On pourrait simplement import datetimeobtenir le package complet avec tous les sous-modules, mais alors les appels de méthode ressembleraient à datetime.datetime.now()ou datetime.date.today(). En règle générale, il est préférable pour plusieurs raisons d'importer uniquement les composants dont vous avez besoin.
Utilisation:
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).
Référence: 8.1.7. Comportement de strftime () et strptime ()
Référence: comportement de strftime () et strptime ()
Les éléments ci-dessus sont utiles pour toute analyse de date, pas seulement maintenant ou aujourd'hui. Cela peut être utile pour toute analyse de date.
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')
Etc...
Vous pouvez écrire la réponse acceptée en une seule ligne en utilisant date.replace:
datem = datetime.today().replace(day=1)
Vous pouvez toujours utiliser une méthode de sous-chaîne:
import datetime;
today = str(datetime.date.today());
curr_year = int(today[:4]);
curr_month = int(today[5:7]);
Cela vous donnera le mois et l'année en cours au format entier. Si vous voulez qu'elles soient des chaînes, vous devez simplement supprimer la priorité "int" lors de l'affectation de valeurs aux variables curr_yearet curr_month.
datetime.datetime.now().monthest mieux.
Réponse tardive, mais vous pouvez également utiliser:
import time
ym = time.strftime("%Y-%m")
date.today().strftime("%Y-%m")?