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.
today
variable a déjà l'année et le mois en cours.
from datetime import datetime
plutô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?
date
sous - module ( from datetime import date
) qui ne traite que des dates, le time
sous - module qui traite des heures, et le datetime
sous - module malheureusement nommé qui fait les deux. Il y a aussi timedelta
et tzinfo
là-dedans. On pourrait simplement import datetime
obtenir 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_year
et curr_month
.
datetime.datetime.now().month
est mieux.
Réponse tardive, mais vous pouvez également utiliser:
import time
ym = time.strftime("%Y-%m")
date.today().strftime("%Y-%m")
?