Le traitement du temps est l'exigence la plus courante dans notre développement quotidien, telle que : obtenir la date/heure actuelle, obtenir la date d'aujourd'hui, obtenir les N jours de demain/précédents, obtenir l'heure de début et de fin de la journée (00:00:00 23 :59:59 ), obtenir le décalage horaire entre deux dates, obtenir le dernier jour de cette semaine/ce mois-ci/le mois dernier, etc. Ces conversions semblent compliquées et difficiles à mémoriser, nous allons donc résumer aujourd'hui le traitement du temps de Python.
Principe : prendre la date/heure comme centre, point de départ ou transit, et la convertir en objet cible, couvrant le traitement de conversion de date requis dans la plupart des scénarios commerciaux
Étapes :
1. Maîtriser plusieurs objets et leurs relations
2 Comprendre les méthodes de fonctionnement de base de chaque type d'objet
3. Convertir via des relations de conversion
datetime est date Une combinaison avec l'heure, incluant toutes les informations sur la date et l'heure.La signification de chaque paramètre est la même que celle des constructeurs de date et d'heure. Faites attention à la plage de valeurs des paramètres.
import datetime now = datetime.datetime.now() #输出:datetime.datetime(2016, 11, 26, 8, 34, 30, 876359)
L'horodatage est le nombre de secondes depuis le 1er janvier 1970 (00:00:00 GMT). Il est également appelé Unix Timestamp.
Le code est le suivant :
3. Obtenez le tuple temporel (tuple)import time time.time() #输出:1480120686.733905
Le code est le suivant :
4. Obtenez la chaîne d'heure (String)import time time.localtime() #输出:time.struct_time(tm_year=2016, tm_mon=11, tm_mday=26, tm_hour=8, tm_min=39, tm_sec=33, tm_wday=5, tm_yday=331, tm_isdst=0)
Liste des paramètres de format de chaîne :
datetime (format)%a : Abréviation de semaine. Par exemple, mercredi, c'est Web
%A : La lettre complète de la semaine. Par exemple, mercredi est mercredi
%b : l'abréviation du mois. Par exemple, avril correspond à avril
%B : le mois complet. Par exemple, le mois d'avril est avril
%c : représentation sous forme de chaîne de la date et de l'heure. (Par exemple : 04/07/10 10:43:39)
%d : Le nombre de jours de ce mois (le jour du mois)
%f : Microsecondes (plage [0,999999 ])
%H : Heure (format 24 heures, [0, 23])
%I : Heure (format 12 heures, [0, 11])
%j : Le nombre de jours dans année [001,366] (le jour de l'année)
%m : mois ([01,12])
%M : minute ([00,59])
%p : AM ou PM
%S : Secondes (la plage est [00, 61], pourquoi pas [00, 59], reportez-vous au manuel python~_~)
%U : Le nombre de semaines dans l'année en cours et le nombre de semaines dans l'année en cours), dimanche comme premier jour de la semaine
%w : Le nombre de jours d'aujourd'hui est dans cette semaine, la plage est [0, 6], 6 signifie dimanche
%W : Le nombre de semaines dans l'année en cours (le numéro de l'année en cours), lundi est le premier jour de la semaine
%x : chaîne de date (ex : 04/07/10)
%X : chaîne d'heure (ex : 10:43:39)
%y : Année représentée par 2 chiffres
%Y : Année représentée par 4 chiffres
%z : Intervalle avec l'heure UTC (si c'est l'heure locale, renvoie une chaîne vide )
%Z : Nom du fuseau horaire (si c'est l'heure locale, renvoie une chaîne vide)
%% : %% => %
Le code est le suivant :
import datetime datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S") '2016-11-26 08:40:39'
Le code est le suivant :
import datetime datetime.datetime.now().date() datetime.date(2016, 11, 26)
Obtenez la date du jour
Le le code est le suivant :
7. Obtenez demain/N derniers joursimport datetime datetime.date.today() datetime.date(2016, 11, 26)
Demain
Le code est le suivant :
import datetime datetime.date.today() + datetime.timedelta(days=1) datetime.date(2016, 11, 27)
Il y a deux jours
Le code est le suivant :
import datetime >>> datetime.datetime.now() datetime.datetime(2016, 11, 26, 8, 42, 59, 665368) >>> datetime.datetime.now() - datetime.timedelta(days=3) datetime.datetime(2016, 11, 24, 8, 43, 14, 696948)
Obtenir l'heure de début et de fin de la journée (00 : 00:00 23:59:59)
Le code est le suivant :
import datetime datetime.datetime.combine(datetime.date.today(), datetime.time.min) datetime.datetime(2016, 11, 26, 0, 0) datetime.datetime.combine(datetime.date.today(), datetime.time.max) datetime.datetime(2016, 11, 26, 23, 59, 59, 999999)
9. Obtenez le décalage horaire entre deux dates et heures
<🎜. >Le code est le suivant :import datetime (datetime.datetime(2016,12,13,12,0,0) - datetime.datetime.now()).total_seconds() 1480506.809658
Cette semaine le code est le suivant :
import datetime today = datetime.date.today() #输出: datetime.date(2016, 11, 26) sunday = today + datetime.timedelta(6 - today.weekday()) #输出:datetime.date(2016, 11, 27)
import calendar today = datetime.date.today() last_day_num = calendar.monthrange(today.year, today.month) last_day = datetime.date(today.year, today.month, last_day_num) #输出:datetime.date(2016, 11, 30)
import datetime today = datetime.date.today() first = datetime.date(day=1, month=today.month, year=today.year) lastMonth = first - datetime.timedelta(days=1) #输出:datetime.date(2016, 10, 31)
Le code est le suivant :
#当月1号 datetime.date(datetime.date.today().year,datetime.date.today().month,1) #当月1号 datetime.date.today().replace(day=1) #上月1号 (datetime.date.today().replace(day=1) - datetime.timedelta(1)).replace(day=1)