python中time和datetime的区别及用法是什么 您所在的位置:网站首页 python中datetimetimedelta python中time和datetime的区别及用法是什么

python中time和datetime的区别及用法是什么

#python中time和datetime的区别及用法是什么| 来源: 网络整理| 查看: 265

一. Python中表示时间的两种方式:

时间戳:相对于1970.1.1 00:00:00以秒计算的偏移量,唯一的

时间元组struct_time:共有9个元素> tm_year:年1-12> tm_mon:月1-12> tm_mday:日1-31> tm_hour:时0-23> tm_min:分0-59> tm_sec:秒0-59> tm_wday:星期0-6(0表示周日)> tm_day:一年中的第几天1-366> tm_isdst:是否是夏令,默认为-1

二. time 1. time.time() #当前时间戳, 没参数,唯一值 2. time.sleep(secs) #暂停几秒 3. time.gmtime(secs) #无参得到当前格林尼治时间,有时间戳参数就转为格林尼治结构时间 4. time.localtime(secs) #无参得到local结构化时间, 有时间戳参数就转为local结构化时间 print(time.localtime()) # time.struct_time(tm_year=2022, tm_mon=10, tm_mday=20, tm_hour=11, tm_min=20, tm_sec=44, tm_wday=3, tm_yday=293, tm_isdst=0) print(time.localtime(13912345678)) # time.struct_time(tm_year=2410, tm_mon=11, tm_mday=12, tm_hour=20, tm_min=27, tm_sec=58, tm_wday=4, tm_yday=316, tm_isdst=0) 5. time.strftime(format, t) #将结构化时间转化为自定义的格式化时间 print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())) #北京时间 print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()+60*60))) #东京时间 6. time.strptime(string, format) # 将自定义时间(字符串)转化为结构时间 print(time.strptime("2023-1-11 1:2:3", "%Y-%m-%d %H:%M:%S")) # 将日常格式化时间转为结构化时间 print(time.strptime("2023-1-11", "%Y-%m-%d")) # 将日常格式化时间转为结构化时间 7. time.ctime(secs) # 将一个时间戳转变为一个结构化时间 print(time.ctime(123)) # Thu Jan 1 08:02:03 1970 print(time.ctime(time.time() + 60 * 60)) # Thu Oct 20 11:28:32 2023 8. time.mktime(t) # 将所给结构化时间转化为时间戳 print(time.mktime(time.localtime(time.time()))) # 1666233100.0 print(time.time()) # 1666233100.5075898 # 两行的效果是一样的 # 求一个指定时间的时间戳 print(time.mktime(time.strptime('2023-2-3', '%Y-%m-%d'))) # 1580659200.0登录后复制三. datetime

datetime比time高级了不少,可以理解为datetime基于time进行了封装,提供了更多实用的函数,主要包含一下几类:

timedelta:主要用于计算时间跨度

time:只关注时间

date:只关注日期

datetime:同时有时间和日期

在实际使用中,用得比较多的是datetime.datetime和datetime.timedelta,另外两个datetime.date和datetime.time实际使用和datetime.datetime并无太大差别。

1.datetime.datetime

datetime.datetime 实例化后主要会有以下属性及常用方法:

time_now = datatime.datetime.now() #实例化 datetime.year datetime.month datetime.day datetime.hour datetime.minute datetime.second datetime.microsecond datetime.tzinfo():时区 datetime.date():返回date对象 datetime.time():返回time对象 datetime.replace(name=value) datetime.timetuple():返回time.struct_time 对象 datetime.strftime(format):按照format进行格式化输出 #除了实例本身具有的方法,类本身也提供了很多好用的方法: datetime.strptime(date_string,format): 给定时间格式解析字符串 datetime.now([tz]):当前时间默认 localtime datetime.today():当前时间登录后复制2.datetime.timedelta

date.timedelta(3) ,前进3天date.timedelta(-3) ,后退3天date.timedelta(hour = 3) ,前进3小时date.timedelta(minutes = 3) ,前进3分钟

import time import datetime dt = datetime.datetime.now() print(dt.timestamp()) print(dt.year) print(dt.month) print(dt.day) print(dt.hour) print(dt.minute) print(dt.second) print(dt.microsecond) print(dt.tzinfo) print(dt.time()) print(dt.date()) print(dt.strftime("%Y-%m-%d %H:%M:%S")) # 2023-1-31 13:42:16 print(datetime.datetime.strptime('2023-1-20 1:1:1', "%Y-%m-%d %H:%M:%S")) delta = datetime.timedelta(11) print(dt + delta) print((dt + delta).strftime("%Y-%m-%d %H:%M:%S")) print((dt - delta).strftime("%Y-%m-%d %H:%M:%S")) print('....') print(datetime.datetime.now()) #返回 2023-1-20 13:40:29.151057 print(datetime.date.fromtimestamp(time.time()) ) # 时间戳直接转成日期格式 2023-1-20 print(datetime.datetime.now()) print(datetime.datetime.now() + datetime.timedelta(3)) #当前时间+3天 print(datetime.datetime.now() + datetime.timedelta(-3)) #当前时间-3天 print(datetime.datetime.now() + datetime.timedelta(hours=3)) #当前时间+3小时 print(datetime.datetime.now() + datetime.timedelta(minutes=30)) #当前时间+30分 print(datetime.date.fromtimestamp(time.time())) # 2023-1-20登录后复制

以上就是python中time和datetime的区别及用法是什么的详细内容,更多请关注php中文网其它相关文章!



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有