Python中的datetime包与time包包和模块详情
目录
一、datetime包1.timedelta(params…)得到一个时间增量对象2.timezone(timedelta)+timedelta(params…)创建时区对象3.datetime模块datetime.strftime(fmt)datetime时间对象转字符串datetime.strptime(date_string,fmt)字符串转成datetime时间对象datetime.timestamp(datetime_obj)将datetime时间对象转换成秒级时间戳datetime.fromtimestamp(t)将秒级时间戳转换成datetime时间对象4.使用datetime对象+timedelta(params…)进行时间运算二、time包1.time.time()得到当前秒级时间戳2.time.localtime(second)将秒转换成time时间对象3.time.strftime(fmt,time_obj)将time时间对象转换成字符串4.time.strptime(time_string,fmt)将字符串转换成time时间对象5.time.sleep(second)休眠second秒一、datetime包
1.timedelta(params…)得到一个时间增量对象
# coding:utf-8 from datetime import timedelta if __name__ == "__main__": # 常用参数 hours:小时 days:天 seconds:秒 milliseconds:毫秒 delta = timedelta(hours=2) print(delta) # 2:00:00 print(type(delta)) #
2.timezone(timedelta) + timedelta(params…) 创建时区对象
# coding:utf-8 from datetime import timedelta, timezone if __name__ == "__main__": delta = timedelta(hours=2) zone = timezone(delta) #配合timedelta创建时区对象 print(zone) # UTC+02:00 print(type(zone)) #
3.datetime模块
datetime.now(timezone) 获取当前时间datetime对象 # coding:utf-8 from datetime import timedelta, timezone, datetime if __name__ == "__main__": """ 获取当前时间,可以获取指定时区的当前时间 datetime.now(timezone) """ now = datetime.now() print(now) # 2022-02-23 13:59:59.224286 print(type(now)) ## 设置指定时区的当前时间 print(datetime.now((timezone(timedelta(hours=9))))) # 2022-02-23 14:59:59.224286+09:00
datetime.strftime(fmt) datetime时间对象转字符串
# coding:utf-8 from datetime import datetime if __name__ == "__main__": """ datetime.strftime(fmt) 将时间对象转换成字符串 fmt:格式化标准,由格式符组成 常用格式符(年:%Y,月:%m,日:%D,时:%H,分:%M,秒:%S) """ now = datetime.now() print(now.strftime("%Y-%m-%d %H:%M:%S")) # 2022-02-23 14:04:24
datetime.strptime(date_string,fmt) 字符串转成datetime时间对象
# coding:utf-8 from datetime import datetime if __name__ == "__main__": """ datetime.strptime(date_string,fmt) 将字符串转换成时间对象,要求date_string的格式完全匹配fmt格式化标准 """ time_obj = datetime.strptime("2022-2-22", "%Y-%m-%d") # datetime.strptime("2022-2-22", "%Y-%m-%d %H") Error date_string 中不存在小时而fmt中要求有小时 print(datetime.strptime("2022-2-22 14", "%Y-%m-%d %H")) # 2022-02-22 14:00:00 print(time_obj) # 2022-02-22 00:00:00 print(type(time_obj)) #
datetime.timestamp(datetime_obj) 将datetime时间对象转换成秒级时间戳
# coding:utf-8 from datetime import datetime if __name__ == "__main__": """ datetime.timestamp(datetime_obj) datetime_obj:datetime 时间对象 返回 float """ print(datetime.timestamp(datetime.now())) # 1645598565.715
datetime.fromtimestamp(t) 将秒级时间戳转换成datetime时间对象
# coding:utf-8 from datetime import datetime, timedelta, timezone if __name__ == "__main__": """ datetime.fromtimestamp(t) t:秒级时间戳 float类型 返回:datetime时间对象 """ datetime_obj = datetime.fromtimestamp(1645598565.715) print(datetime_obj) # 2022-02-23 14:42:45.715000 print(type(datetime_obj)) #
4.使用datetime对象 + timedelta(params…) 进行时间运算
# coding:utf-8 from datetime import datetime, timedelta, timezone if __name__ == "__main__": now = datetime.now() fmt = "%Y-%m-%d %H:%M:%S" print(now.strftime(fmt)) # 2022-02-23 15:07:01 # 3小时后时间 print((now + timedelta(hours=3)).strftime(fmt)) # 2022-02-23 18:07:01 # 3小时前时间 print((now - timedelta(hours=3)).strftime(fmt)) # 2022-02-23 12:07:01 print((now + timedelta(hours=-3)).strftime(fmt)) # 2022-02-23 12:07:01 # 建议timedelta的参数都使用正数(容易理解)
二、time包
1.time.time() 得到当前秒级时间戳
# coding:utf-8 import time if __name__ == "__main__": print(time.time()) # 1645667203.7236724
2.time.localtime(second) 将秒转换成time时间对象
# coding:utf-8 import time if __name__ == "__main__": # second 不填,则默认当前的时间戳 t = time.localtime(time.time()) t2 = time.localtime() print(t) # time.struct_time(tm_year=2022, tm_mon=2, tm_mday=24, tm_hour=10, tm_min=10, tm_sec=8, tm_wday=3, tm_yday=55, tm_isdst=0) print(t2) # time.struct_time(tm_year=2022, tm_mon=2, tm_mday=24, tm_hour=10, tm_min=10, tm_sec=8, tm_wday=3, tm_yday=55, tm_isdst=0) print(type(t)) #print(type(t2)) #
3.time.strftime(fmt,time_obj) 将time时间对象转换成字符串
# coding:utf-8 import time if __name__ == "__main__": """ time.strftime(fmt,time_obj) fmt:格式化标准 参考 datetime.strftime(fmt) time_obj:time时间对象,不填默认是当前日期的time时间对象 """ t = time.localtime(time.time() + 3600) print(time.strftime("%Y-%m-%d %H:%M:%S")) # 2022-02-24 10:16:17 print(time.strftime("%Y-%m-%d %H:%M:%S", t)) # 2022-02-24 11:16:17
4.time.strptime(time_string,fmt) 将字符串转换成time时间对象
# coding:utf-8 import time if __name__ == "__main__": """ time.strptime(time_string,fmt) 参考 datetime.strptime(date_string,fmt) time_string:时间字符串 fmt:格式化标准 """ fmt = "%Y-%m-%d %H:%M:%S" t = time.strftime(fmt, time.localtime()) print(t) # 2022-02-24 10:25:17 print(time.strptime(t, fmt)) # time.struct_time(tm_year=2022, tm_mon=2, tm_mday=24, tm_hour=10, tm_min=25, tm_sec=40, tm_wday=3, tm_yday=55, tm_isdst=-1)
5.time.sleep(second) 休眠 second 秒
# coding:utf-8 import time if __name__ == "__main__": print(time.time()) # 1645670183.6567423 time.sleep(2) print(time.time()) # 1645670185.6708047
到此这篇关于Python中的datetime包与datetime包和模块详情的文章就介绍到这了,更多相关Python时间相关包和模块内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
X 关闭
X 关闭
- 15G资费不大降!三大运营商谁提供的5G网速最快?中国信通院给出答案
- 2联想拯救者Y70发布最新预告:售价2970元起 迄今最便宜的骁龙8+旗舰
- 3亚马逊开始大规模推广掌纹支付技术 顾客可使用“挥手付”结账
- 4现代和起亚上半年出口20万辆新能源汽车同比增长30.6%
- 5如何让居民5分钟使用到各种设施?沙特“线性城市”来了
- 6AMD实现连续8个季度的增长 季度营收首次突破60亿美元利润更是翻倍
- 7转转集团发布2022年二季度手机行情报告:二手市场“飘香”
- 8充电宝100Wh等于多少毫安?铁路旅客禁止、限制携带和托运物品目录
- 9好消息!京东与腾讯续签三年战略合作协议 加强技术创新与供应链服务
- 10名创优品拟通过香港IPO全球发售4100万股 全球发售所得款项有什么用处?