Python中数据类型时间的介绍(附代码)

不言
Freigeben: 2019-03-01 11:24:59
nach vorne
3241 Leute haben es durchsucht

本篇文章给大家带来的内容是关于Python中数据类型时间的介绍(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

1、什么是时间数据类型

Python中表示时间类型的数据结构为时间数据类型;

2.time模块

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月的日历
Nach dem Login kopieren

时间戳:就是从0时区1970年1月1日0时0分0秒,到所给定日期时间的秒数(浮点型);

时间戳获取:使用import导入time模块,调用time模块的time方法,得到的时间戳如果不要小数点后面的就是秒,取后面三位小数就是毫秒,再下去三位就是微秒,一般取到毫秒就可以了;

localtime方法:返回当前时间的元组(包括年月日时分秒等);

asctime方法:将当前时间元组转变为字符串(欧美国家的时间格式);

strftime方法:格式化字符串;

strptime方法:和strftime方法相反,用来将字符串转为时间元组;

sleep方法:会占用cpu时间片(也就是让整个线程暂停一些时间);

打印日历:import导入calendar模块,然后调用month方法;

3.datetime模块

python中的datetime模块提供了操作日期和时间功能,该模块提供的五种核心对象分别是:datetime(时间日期类型), date(日期类型), time(时间类 型), tzinfo(时区类型), timedelta(时间差类型);

(1) datetime类型

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  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  # 字符串转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  # 计算时间戳 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 
Nach dem Login kopieren
  • datetime类型转字符串用strftime方法,字符串转datetime类型用strptime方法;

  • timestamp方法:计算时间戳;

  • fromtimestamp方法:通过时间戳获取datetime对象;

(2) date类型

from datetime import date data_today = date(year=2018, month=11, day=29) print(data_today) #输出:2018-11-29
Nach dem Login kopieren
  • 导入date模块,实例化日期;

(3) time类型

from datetime import time now_time = time(hour=8, minute=30, second=10) print(now_time, type(now_time)) #输出:20:30:10 
Nach dem Login kopieren
  • 导入time类型,实例化时间;

(4) timedelta类型

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  # 可以初始化时间间隔 delta_days = timedelta(days=7) print(delta_days, type(delta_days)) #输出:7 days, 0:00:00  # 可以通过时间间隔得到将来的时间 future_datetime = now + delta_days print(future_datetime) #输出:2019-02-05 14:43:54.582315
Nach dem Login kopieren
  • timedelta对象表示一个时间段,timedelta对象可以通过手动实例化得到,也可以通过相减得到;

(5)tzinfo类型

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
Nach dem Login kopieren
  • 安装pytz包:进入项目,执行pip install pytz命令;

  • 获取时区:pytz.timezone(地区名);

  • 获取城市本地时间:datetime.now(时区名);

Das obige ist der detaillierte Inhalt vonPython中数据类型时间的介绍(附代码). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:segmentfault.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!