文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Python时间数据类型的模块有哪些

2023-06-02 08:23

关注

这篇文章主要介绍“Python时间数据类型的模块有哪些”,在日常操作中,相信很多人在Python时间数据类型的模块有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”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 calendarprint(calendar.month(2019, 1))   #输出:2019年1月的日历

时间戳:就是从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#获取当前日期时间,输出类型为datetimenow = datetime.now()print(now,type(now))  #输出:2019-01-29 14:23:35.408583 <class 'datetime.datetime'>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 'str'># 字符串转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 'datetime.datetime'># 计算时间戳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 'datetime.datetime'>

(2) date类型

from datetime import datedata_today = date(year=2018, month=11, day=29)print(data_today)  #输出:2018-11-29

(3) time类型

from datetime import timenow_time = time(hour=8, minute=30, second=10)print(now_time, type(now_time))  #输出:20:30:10 <class 'datetime.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_datatimeprint(delta, type(delta))   #输出:70 days, 6:22:37.340041 <class 'datetime.timedelta'># 可以初始化时间间隔delta_days = timedelta(days=7)print(delta_days, type(delta_days))  #输出:7 days, 0:00:00 <class 'datetime.timedelta'># 可以通过时间间隔得到将来的时间 future_datetime = now + delta_daysprint(future_datetime)    #输出:2019-02-05 14:43:54.582315

(5)tzinfo类型

from datetime import datetimeimport pytzutc_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:00print(america_local_time)  #输出:2019-01-29 14:51:51.252579+08:00

到此,关于“Python时间数据类型的模块有哪些”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯