Maison  >  Article  >  développement back-end  >  Introduction au type de données time en Python (avec code)

Introduction au type de données time en Python (avec code)

不言
不言avant
2019-03-01 11:24:593421parcourir

Cet article vous présente une introduction au type de données time en Python (avec code). Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.

1. Quel est le type de données temporelles

La structure de données représentant le type de données temporelles en Python est le type de données temporelles ; >2.time Module

Timestamp
import time
# 获取当前时间的时间戳
print(time.time())   #输出:1548742426.1698806

# 返回当前时间的元组
t = time.localtime()
print(t)
#输出:time.struct_time(tm_year=2019, tm_mon=1, tm_mday=29, tm_hour=14, tm_min=14, tm_sec=17, tm_wday=1, tm_yday=29, tm_isdst=0)


# 将当前时间元组转变为字符串
print(time.asctime(time.localtime()))  #输出:Tue Jan 29 14:15:51 2019

# # 格式化字符串
print(time.strftime("%Y-%m-%d %H:%M:%S",time.localtime()))    #输出:2019-01-29 14:16:08
# # 将字符串转为时间元组

print(time.strptime('2018-11-27 08:08:08', '%Y-%m-%d %H:%M:%S'))  
#输出:time.struct_time(tm_year=2018, tm_mon=11, tm_mday=27, tm_hour=8, tm_min=8, tm_sec=8, tm_wday=1, tm_yday=331, tm_isdst=-1)

# sleep方法, 会占用cpu时间片
print(time.sleep(5))   #5秒后输出:None

# 打印日历
import calendar
print(calendar.month(2019, 1))   #输出:2019年1月的日历
: C'est le nombre de secondes (temps flottant) à partir de 0:00:00 le 1er janvier 1970 à l'heure 0 zone à la date et à l'heure données. Type de point);

Acquisition d'horodatage

 : utilisez import pour importer le module d'heure, appelez la méthode d'heure du module d'heure et l'horodatage obtenu sera être des secondes s'il n'y a pas de point décimal après, et les trois décimales suivantes seront prises. C'est des millisecondes, et les trois chiffres suivants sont des microsecondes. Généralement, les millisecondes suffisent

méthode de l'heure locale  : renvoie un tuple de l'heure actuelle (y compris l'année, le mois, le jour, l'heure, la minute, la seconde, etc.) ;

méthode asctime : convertit le tuple de l'heure actuelle en un string (format de l'heure dans les pays européens et américains) ;

méthode strftime : formater les caractères String

méthode strptime : opposée à la méthode strftime, utilisé pour convertir une chaîne en tuple temporel ;

méthode de veille : occupera la tranche de temps du processeur (c'est-à-dire laissera le thread entier faire une pause pendant un certain temps) ; >Imprimer le calendrier

 : importez le module calendrier, puis appelez la méthode du mois

3. module datetime

Le module datetime en python fournit la fonction de date et heure de fonctionnement. Les cinq objets principaux fournis par ce module sont : datetime (type de date d'heure), date (type de date), time (type d'heure), tzinfo (type de fuseau horaire), timedelta (type de décalage horaire

(1) type datetime

type datetime Utilisez la méthode strftime pour convertir une chaîne, la méthode strptime pour convertir une chaîne en type datetime

méthode d'horodatage : calculer l'horodatage ;

from datetime import datetime
# 1: 构建一个指定日期和时间的datetime对象
today = datetime(year=2019,month=1,day=29,hour=14,minute=22,second=54)
print(today)  #输出:2019-01-29 14:22:54

#获取当前日期时间,输出类型为datetime
now = datetime.now()
print(now,type(now))  #输出:2019-01-29 14:23:35.408583 <class &#39;datetime.datetime&#39;>

d_now = datetime.now()
# datetime类型转字符串
d_str = d_now.strftime('%Y-%m-%d %H:%M:%S')
print(d_str,type(d_str))   #输出:2019-01-29 14:26:12 <class &#39;str&#39;>
# 字符串转datetime类型
d_type = datetime.strptime(d_str,'%Y-%m-%d %H:%M:%S')
print(d_type,type(d_type))  #输出:2019-01-29 14:26:12 <class &#39;datetime.datetime&#39;>

# 计算时间戳
timestamp = d_type.timestamp()
print(timestamp)  #输出:1548743501.0

# 计算时间戳
timestamp = d_type.timestamp()
print(timestamp)      #输出:1548743935.0

# 通过时间戳获取datetime对象   
d_type = datetime.fromtimestamp(1543408827)
print(d_type, type(d_type))  #输出:2018-11-28 20:40:27 <class &#39;datetime.datetime&#39;>
  • méthode fromtimestamp : obtenir l'objet datetime via l'horodatage

  • (2) type de date

  • Module de date d'importation, date d'instance

( 3) type d'heure

from datetime import date
data_today = date(year=2018, month=11, day=29)
print(data_today)  #输出:2018-11-29
  • Type d'heure d'importation, heure d'instanciation ;

(4) type delta temporel

from datetime import time
now_time = time(hour=8, minute=30, second=10)
print(now_time, type(now_time))  #输出:20:30:10 <class &#39;datetime.time&#39;>
  • L'objet timedelta représente une période de temps, et l'objet timedelta peut être instancié manuellement et peut également être obtenu par soustraction

(5) type tzinfo

from datetime import datetime, timedelta
# 时间间隔可以通过相减得到
now = datetime.now()
before_datatime = datetime(year=2018, month=11, day=20, hour=8, minute=20, second=20)
delta = now - before_datatime
print(delta, type(delta))   #输出:70 days, 6:22:37.340041 <class &#39;datetime.timedelta&#39;>

# 可以初始化时间间隔
delta_days = timedelta(days=7)
print(delta_days, type(delta_days))  #输出:7 days, 0:00:00 <class &#39;datetime.timedelta&#39;>

# 可以通过时间间隔得到将来的时间 
future_datetime = now + delta_days
print(future_datetime)    #输出:2019-02-05 14:43:54.582315
  • Installer le package pytz : entrez le projet et exécutez la commande pip install pytz

Obtenez le fuseau horaire : pytz.timezone (nom de la région) ;

Obtenez l'heure locale de la ville : datetime.now (nom du fuseau horaire) ; >
from datetime import datetime
import pytz
utc_tz = pytz.timezone('UTC')
print(pytz.country_timezones('cn'))  # 显示中国时区的城市   #输出:['Asia/Shanghai', 'Asia/Urumqi']
print(pytz.country_timezones('us'))  # 显示美国时区的城市
# #输出:['America/New_York', 'America/Detroit', 'America/Kentucky/Louisville', 'America/Kentucky/Monticello', 'America/Indiana/Indianapolis', 'America/Indiana/Vincennes', 'America/Indiana/Winamac', 'America/Indiana/Marengo', 'America/Indiana/Petersburg', 'America/Indiana/Vevay', 'America/Chicago', 'America/Indiana/Tell_City', 'America/Indiana/Knox', 'America/Menominee', 'America/North_Dakota/Center', 'America/North_Dakota/New_Salem', 'America/North_Dakota/Beulah', 'America/Denver', 'America/Boise', 'America/Phoenix', 'America/Los_Angeles', 'America/Anchorage', 'America/Juneau', 'America/Sitka', 'America/Metlakatla', 'America/Yakutat', 'America/Nome', 'America/Adak', 'Pacific/Honolulu']

# # 获取时区
china_tz = pytz.timezone('Asia/Shanghai')
america_tz = pytz.timezone('America/New_York')
# # 获取城市本地时间
china_local_time = datetime.now(china_tz) # 东八区
america_local_time = datetime.now(america_tz) # 西五区
print(china_local_time)   #输出:2019-01-29 14:51:51.252579+08:00
print(america_local_time)  #输出:2019-01-29 14:51:51.252579+08:00

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer