Table des matières
classe date
class datetime.time(hour=0, minute=0, second=0, microsecond=0, tzinfo=None)
time 类定义的类属性:
time类提供的实例方法和属性:
datetime 类
datetime类定义的类属性与方法:
datetime 的实例方法与属性
timedelta 类
timedelta 类定义的类属性:
timedelta 实例方法
格式字符串
Maison développement back-end Tutoriel Python Introduction au module datetime en Python (avec exemples)

Introduction au module datetime en Python (avec exemples)

Jan 28, 2019 am 11:31 AM
python

Cet article vous présente une introduction au module datetime en Python (avec des exemples). Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il vous sera utile.

Python fournit plusieurs modules intégrés pour manipuler la date et l'heure, tels que le calendrier, l'heure et la date/heure. L'interface fournie par le module time est fondamentalement cohérente avec la bibliothèque standard C time.h. Par rapport au module time, l'interface du module datetime est plus intuitive et plus facile à appeler. Le module

définit deux constantes :

  • datetime.MINYEAR

  • datetime.MAXYEAR

Ces deux constantes représentent respectivement l'année minimale et maximale que datetime peut représenter. Parmi eux, MINYEAR = 1, MAXYEAR = 9999. Le module

datetime définit les classes suivantes :

  • datetime.date : une classe représentant la date. Les attributs couramment utilisés incluent l'année, le mois, le jour

  • datetime.time : une classe représentant l'heure. Les attributs couramment utilisés incluent l'heure, la minute, la seconde, la microseconde

  • datetime.datetime : représente la date et l'heure.

  • datetime.timedelta : représente l'intervalle de temps, c'est-à-dire la durée entre deux points temporels.

  • datetime.tzinfo : Informations pertinentes liées au fuseau horaire.

Remarque : Les types d'objets répertoriés ci-dessus sont tous immuables.

classe date

date la classe représente une date (composée de l'année, du mois, du jour), et son prototype est le suivant :

class datetime.date(year , mois, jour)

Description du paramètre :

  • La plage de l'année est [MINYEAR, MAXYEAR], soit [1, 9999] ; 🎜>

    mois est [1, 12]. (Le mois commence à 1, pas à 0) ; La valeur maximale du
  • jour est déterminée en fonction des paramètres de l'année et du mois donnés. Par exemple, février dans une année bissextile compte 29 jours ; la classe
  • date définit certaines méthodes et attributs de classe couramment utilisés :

    date.max
  • ,

    date.min : la date maximale et minimale que l'objet date peut représenter

  • date.resolution : objet date La plus petite unité représentant une date. C'est le paradis.
  • date.today()
  •  : Renvoie un objet date représentant la date locale actuelle
  • date .fromtimestamp(timestamp)
  •  : renvoie un objet date basé sur l'horodatage donné
  • datetime.fromordinal(ordinal)
  •  : convertit l'heure du calendrier grégorien ; Convertir en objet date ; (Calendrier grégorien : une méthode de représentation du calendrier, similaire au calendrier lunaire de notre pays, qui est plus couramment utilisée dans les pays occidentaux et ne sera pas abordée en détail ici.)
  • Exemple d'utilisation :

Méthodes et propriétés d'instance fournies par date :

>>> datetime.date.max
datetime.date(9999, 12, 31)
>>> datetime.date.min
datetime.date(1, 1, 1)
>>> datetime.date.resolution
datetime.timedelta(1)
>>> datetime.date.today()
datetime.date(2016, 5, 12)
>>> datetime.date.fromtimestamp(time.time())
datetime.date(2016, 5, 12)
Copier après la connexion

date.year
    ,
  • date.month

    , date.day : année, mois, jour

    date.replace(année, mois, jour)
  •  : générer un nouvel objet date, remplacez les attributs de l'objet d'origine par l'année, le mois et le jour spécifiés par les paramètres. (L'objet d'origine reste inchangé)
  • date.timetuple()
  •  : Renvoie l'objet time.struct_time correspondant à la date
  • date.toordinal()

     : renvoie la date du calendrier grégorien correspondant à la date
  • date.weekday()

     : Renvoie le jour de la semaine, si c'est lundi, renvoie 0 ; si c'est mardi, renvoie 1, et ainsi de suite
  • data.isoweekday()

     : renvoie le jour de la semaine, si c'est lundi, renvoie 1 ; si c'est mardi, renvoie 2, et ainsi de suite
  • date.isocalendar()

     : le format de retour est tel que : (année, mois, jour) tuple ;
  • date.isoformat()

     : renvoie une chaîne au format 'AAAA-MM-JJ'
  • date.strftime(fmt)

     : Chaîne de format personnalisée.
  • Exemple d'utilisation :

  • la date surcharge les opérateurs simples :

la date permet l'addition, la soustraction et la comparaison de dates :

>>> today = datetime.date.today()
>>> today.year
2016
>>> today.month
5
>>> today.day
12
>>> tomorrow = today.replace(day=13)
>>> tomorrow
datetime.date(2016, 5, 13)
>>> tomorrow.timetuple()
time.struct_time(tm_year=2016, tm_mon=5, tm_mday=13, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=4, tm_yday=134, tm_isdst=-1)
>>> tomorrow.toordinal()
736097
>>> tomorrow.weekday()
4
>>> tomorrow.isoweekday()
5
>>> tomorrow.isocalendar()
(2016, 19, 5)
>>> tomorrow.isoformat()
'2016-05-13'
>>> tomorrow.strftime("%y-%m-%d")
'16-05-13'
Copier après la connexion

date2 = date1 + timedelta

 :
  • Date plus un intervalle, renvoie un nouvel objet date

date2 = date1 - timedelta

:
  • La date est séparée par un intervalle et renvoie un nouvel objet date

timedelta = date1 - date2

 :
  • Soustraire deux dates et renvoyer un objet d'intervalle de temps

date1 < date2

 :
  • Comparez deux dates.

    Exemple d'utilisation :

Classe de temps

La classe représente le temps (composé d'heures, de minutes, de secondes et de microsecondes), et son prototype est le suivant suit :
>>> now = datetime.date.today()
>>> now
datetime.date(2016, 5, 12)
>>> now += datetime.date.resolution
>>> now
datetime.date(2016, 5, 13)
>>> now -= datetime.date.resolution
>>> now
datetime.date(2016, 5, 12)
>>> now < datetime.date.max
True
Copier après la connexion

class datetime.time(hour=0, minute=0, second=0, microsecond=0, tzinfo=None)

Description du paramètre :time

  • hour 的范围为[0, 24),

  • minute 的范围为[0, 60),

  • second 的范围为[0, 60),

  • microsecond 的范围为[0, 1000000),

  • tzinfo 表示时区信息。

time 类定义的类属性:

  • time.mintime.max:time类所能表示的最小、最大时间。其中,time.min = time(0, 0, 0, 0), time.max = time(23, 59, 59, 999999);

  • time.resolution:时间的最小单位,这里是1微秒;

使用示例:

>>> datetime.time.min
datetime.time(0, 0)
>>> datetime.time.max
datetime.time(23, 59, 59, 999999)
>>> datetime.time.resolution
datetime.timedelta(0, 0, 1)</p>
<h4 id="time类提供的实例方法和属性">time类提供的实例方法和属性:</h4>
<ul class=" list-paddingleft-2">
<li><p><strong>time.hour</strong>、<strong>time.minute</strong>、<strong>time.second</strong>、<strong>time.microsecond</strong>:时、分、秒、微秒;</p></li>
<li><p><strong>time.tzinfo</strong>:时区信息;</p></li>
<li><p><strong>time.replace</strong>([hour[, minute[, second[, microsecond[, tzinfo]]]]]):创建一个新的时间对象,用参数指定的时、分、秒、微秒代替原有对象中的属性(原有对象仍保持不变);</p></li>
<li><p><strong>time.isoformat()</strong>:返回型如"HH:MM:SS"格式的字符串表示;</p></li>
<li><p><strong>time.strftime(fmt)</strong>:返回自定义格式化字符串。</p></li>
</ul>
<p>使用示例:</p>
<pre class="brush:php;toolbar:false">>>> tm = datetime.time(18, 18, 18)
>>> tm.hour
18
>>> tm.minute
18
>>> tm.second
18
>>> tm.microsecond
0
>>> tm.tzinfo
>>> tm.isoformat()
'18:18:18'
>>> tm.replace(hour=20)
datetime.time(20, 18, 18)
>>> tm.strftime("%I:%M:%S %p")
'06:18:18 PM'
Copier après la connexion

time 类的对象只能进行比较,无法进行加减操作。

datetime 类

datetime 是 date 与 time 的结合体,包括 date 与 time 的所有信息。其原型如下:

class datetime.datetime(year, month, day, hour=0, minute=0, second=0, microsecond=0, tzinfo=None)

各参数的含义与date、time的构造函数中的一样,要注意参数值的范围。

datetime类定义的类属性与方法:

  • datetime.mindatetime.max:datetime所能表示的最小值与最大值;

  • datetime.resolution:datetime最小单位;

  • datetime.today():返回一个表示当前本地时间的datetime对象;

  • datetime.now([tz]):返回一个表示当前本地时间的datetime对象,如果提供了参数tz,则获取tz参数所指时区的本地时间;

  • datetime.utcnow():返回一个当前utc时间的datetime对象;

  • datetime.fromtimestamp(timestamp[, tz]):根据时间戮创建一个datetime对象,参数tz指定时区信息;

  • datetime.utcfromtimestamp(timestamp):根据时间戮创建一个datetime对象;

  • datetime.combine(date, time):根据date和time,创建一个datetime对象;

  • datetime.strptime(date_string, format):将格式字符串转换为datetime对象,data 与 time 类没有提供该方法。

使用示例:

>>> datetime.datetime.min
datetime.datetime(1, 1, 1, 0, 0)
>>> datetime.datetime.max
datetime.datetime(9999, 12, 31, 23, 59, 59, 999999)
>>> datetime.datetime.resolution
datetime.timedelta(0, 0, 1)
>>> print datetime.datetime.resolution
0:00:00.000001
>>> today = datetime.datetime.today()
>>> today
datetime.datetime(2016, 5, 12, 12, 46, 47, 246240)
>>> datetime.datetime.now()
datetime.datetime(2016, 5, 12, 12, 47, 9, 850643)
>>> datetime.datetime.utcnow()
datetime.datetime(2016, 5, 12, 4, 47, 42, 188124)
>>> datetime.datetime.fromtimestamp(time.time())
datetime.datetime(2016, 5, 12, 12, 48, 40, 459676)
>>> datetime.datetime.combine(datetime.date(1990, 10, 05), datetime.time(18, 18, 18))
datetime.datetime(1990, 10, 5, 18, 18, 18)
>>> datetime.datetime.strptime("2010-04-07 01:48:16.234000", "%Y-%m-%d %H:%M:%S .%f")
datetime.datetime(2010, 4, 7, 1, 48, 16, 234000)
Copier après la connexion

datetime 的实例方法与属性

datetime类提供的实例方法与属性大部分功能与 date 和 time 类似,这里仅罗列方法名不再赘述:

  • datetime.yearmonthdayhourminutesecondmicrosecondtzinfo

  • datetime.date():获取date对象;

  • datetime.time():获取time对象;

  • datetime.replace([year[, month[, day[, hour[, minute[, second[, microsecond[, tzinfo]]]]]]]]):

  • *datetime.timetuple() *

  • *datetime.utctimetuple() *

  • datetime.toordinal()

  • datetime.weekday()

  • datetime.isocalendar()

  • datetime.isoformat([sep])

  • datetime.ctime():返回一个日期时间的C格式字符串,等效于time.ctime(time.mktime(dt.timetuple()));

  • datetime.strftime(format)

datetime 对象同样可以进行比较,或者相减返回一个时间间隔对象,或者日期时间加上一个间隔返回一个新的日期时间对象。

timedelta 类

datetime.timedelta 对象代表两个时间之间的的时间差,两个 date 或 datetime 对象相减时可以返回一个timedelta 对象。其原型如下:

class datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)

所有参数可选,且默认都是0,参数的值可以是整数,浮点数,正数或负数。

内部只存储days,seconds,microseconds,其他参数的值会自动按如下规则抓转换:

  • 1 millisecond(毫秒) 转换成 1000 microseconds(微秒)

  • 1 minute 转换成 60 seconds

  • 1 hour 转换成 3600 seconds

  • 1 week转换成 7 days

三个参数的取值范围分别为:

  • 0 <= microseconds < 1000000

  • 0 <= seconds < 3600*24 (the number of seconds in one day)

  • -999999999 <= days <= 999999999

timedelta 类定义的类属性:

  • timedelta.min:时间间隔对象的最小值,即 timedelta(-999999999).

  • timedelta.max:时间间隔对象的最大值,即 timedelta(days=999999999, hours=23, minutes=59, seconds=59, microseconds=999999).

  • timedelta.resolution:时间间隔的最小单位,即 timedelta(microseconds=1).

使用示例:

>>> datetime.timedelta.min
datetime.timedelta(-999999999)
>>> datetime.timedelta.max
datetime.timedelta(999999999, 86399, 999999)
>>> datetime.timedelta.resolution
datetime.timedelta(0, 0, 1)
>>> print datetime.timedelta.resolution
0:00:00.000001</p>
<h4 id="timedelta-实例方法">timedelta 实例方法</h4>
<ul class=" list-paddingleft-2"><li><p><strong>timedelta.total_seconds()</strong>:计算时间间隔的总秒数</p></li></ul>
<p>使用示例:</p>
<pre class="brush:php;toolbar:false">>>> datetime.timedelta.resolution.total_seconds()
1e-06
Copier après la connexion

格式字符串

datetime、date、time 都提供了 strftime() 方法,该方法接收一个格式字符串,输出日期时间的字符串表示。支持的转换格式如下:

%a星期的简写。如 星期三为Web
%A星期的全写。如 星期三为Wednesday
%b月份的简写。如4月份为Apr
%B月份的全写。如4月份为April
%c: 日期时间的字符串表示。(如: 04/07/10 10:43:39)
%d: 日在这个月中的天数(是这个月的第几天)
%f: 微秒(范围[0,999999])
%H: 小时(24小时制,[0, 23])
%I: 小时(12小时制,[0, 11])
%j: 日在年中的天数 [001,366](是当年的第几天)
%m: 月份([01,12])
%M: 分钟([00,59])
%p: AM或者PM
%S: 秒(范围为[00,61],为什么不是[00, 59],参考python手册~_~)
%U: 周在当年的周数当年的第几周),星期天作为周的第一天
%w: 今天在这周的天数,范围为[0, 6],6表示星期天
%W: 周在当年的周数(是当年的第几周),星期一作为周的第一天
%x: 日期字符串(如:04/07/10)
%X: 时间字符串(如:10:43:39)
%y: 2个数字表示的年份
%Y: 4个数字表示的年份
%z: 与utc时间的间隔 (如果是本地时间,返回空字符串)
%Z: 时区名称(如果是本地时间,返回空字符串)
%%: %% => %
Copier après la connexion

使用示例:

>>> dt = datetime.datetime.now()
>>> dt.strftime('%Y-%m-%d %H:%M:%S %f')
'2016-05-12 14:19:22 333943'
>>> dt.strftime('%y-%m-%d %I:%M:%S %p')
'16-05-12 02:19:22 PM'
>>> dt.strftime("%a")
'Thu'
>>> dt.strftime("%A")
'Thursday'
>>> dt.strftime("%b")
'May'
>>> dt.strftime("%B")
'May'
>>> dt.strftime("%c")
'Thu May 12 14:19:22 2016'
>>> dt.strftime("%x")
'05/12/16'
>>> dt.strftime("%X")
'14:19:22'
>>> dt.strftime("%w")
'4'
>>> dt.strftime("%j")
'133'
>>> dt.strftime("%u")
'4'
>>> dt.strftime("%U")
'19'
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Commandes de chat et comment les utiliser
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Python: jeux, GUIS, et plus Python: jeux, GUIS, et plus Apr 13, 2025 am 12:14 AM

Python excelle dans les jeux et le développement de l'interface graphique. 1) Le développement de jeux utilise Pygame, fournissant des fonctions de dessin, audio et d'autres fonctions, qui conviennent à la création de jeux 2D. 2) Le développement de l'interface graphique peut choisir Tkinter ou Pyqt. Tkinter est simple et facile à utiliser, PYQT a des fonctions riches et convient au développement professionnel.

PHP et Python: comparaison de deux langages de programmation populaires PHP et Python: comparaison de deux langages de programmation populaires Apr 14, 2025 am 12:13 AM

PHP et Python ont chacun leurs propres avantages et choisissent en fonction des exigences du projet. 1.Php convient au développement Web, en particulier pour le développement rapide et la maintenance des sites Web. 2. Python convient à la science des données, à l'apprentissage automatique et à l'intelligence artificielle, avec syntaxe concise et adaptée aux débutants.

Comment Debian Readdir s'intègre à d'autres outils Comment Debian Readdir s'intègre à d'autres outils Apr 13, 2025 am 09:42 AM

La fonction ReadDir dans le système Debian est un appel système utilisé pour lire le contenu des répertoires et est souvent utilisé dans la programmation C. Cet article expliquera comment intégrer ReadDir avec d'autres outils pour améliorer sa fonctionnalité. Méthode 1: combinant d'abord le programme de langue C et le pipeline, écrivez un programme C pour appeler la fonction readdir et sortir le résultat: # include # include # include # includeIntmain (intargc, char * argv []) {dir * dir; structDirent * entrée; if (argc! = 2) {

Python et temps: tirer le meilleur parti de votre temps d'étude Python et temps: tirer le meilleur parti de votre temps d'étude Apr 14, 2025 am 12:02 AM

Pour maximiser l'efficacité de l'apprentissage de Python dans un temps limité, vous pouvez utiliser les modules DateTime, Time et Schedule de Python. 1. Le module DateTime est utilisé pour enregistrer et planifier le temps d'apprentissage. 2. Le module de temps aide à définir l'étude et le temps de repos. 3. Le module de planification organise automatiquement des tâches d'apprentissage hebdomadaires.

Certificat NGINX SSL Mise à jour du tutoriel Debian Certificat NGINX SSL Mise à jour du tutoriel Debian Apr 13, 2025 am 07:21 AM

Cet article vous guidera sur la façon de mettre à jour votre certificat NGINXSSL sur votre système Debian. Étape 1: Installez d'abord CERTBOT, assurez-vous que votre système a des packages CERTBOT et Python3-CERTBOT-NGINX installés. Si ce n'est pas installé, veuillez exécuter la commande suivante: Sudoapt-getUpDaSuDoapt-GetInstallCertBotpyThon3-Certerbot-Nginx Étape 2: Obtenez et configurez le certificat Utilisez la commande Certbot pour obtenir le certificat LETSCRYPT et configure

Comment configurer le serveur HTTPS dans Debian OpenSSL Comment configurer le serveur HTTPS dans Debian OpenSSL Apr 13, 2025 am 11:03 AM

La configuration d'un serveur HTTPS sur un système Debian implique plusieurs étapes, notamment l'installation du logiciel nécessaire, la génération d'un certificat SSL et la configuration d'un serveur Web (tel qu'Apache ou Nginx) pour utiliser un certificat SSL. Voici un guide de base, en supposant que vous utilisez un serveur Apacheweb. 1. Installez d'abord le logiciel nécessaire, assurez-vous que votre système est à jour et installez Apache et OpenSSL: SudoaptupDaSuDoaptupgradeSudoaptinsta

Guide de développement du plug-in de Gitlab sur Debian Guide de développement du plug-in de Gitlab sur Debian Apr 13, 2025 am 08:24 AM

Développer un plugin Gitlab sur Debian nécessite des étapes et des connaissances spécifiques. Voici un guide de base pour vous aider à démarrer avec ce processus. Installation de GitLab Tout d'abord, vous devez installer GitLab sur votre système Debian. Vous pouvez vous référer au manuel d'installation officiel de Gitlab. Obtenez un jeton d'accès API avant d'effectuer l'intégration de l'API, vous devez d'abord obtenir le jeton d'accès API de GitLab. Ouvrez le tableau de bord GitLab, recherchez l'option "AccessTokens" dans les paramètres utilisateur et générez un nouveau jeton d'accès. Sera généré

Quel service est Apache Quel service est Apache Apr 13, 2025 pm 12:06 PM

Apache est le héros derrière Internet. Ce n'est pas seulement un serveur Web, mais aussi une plate-forme puissante qui prend en charge un trafic énorme et fournit un contenu dynamique. Il offre une flexibilité extrêmement élevée grâce à une conception modulaire, permettant l'expansion de diverses fonctions au besoin. Cependant, la modularité présente également des défis de configuration et de performance qui nécessitent une gestion minutieuse. Apache convient aux scénarios de serveur qui nécessitent des besoins complexes hautement personnalisables.

See all articles