datetime 格式变量 格式化_Python中time和datetime的区别

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

  1. 时间戳:相对于1970.1.1 00:00:00以秒计算的偏移量,唯一的
  2. 时间元组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

在python文档中,time是归类在常规操作系统服务中,它提供的功能更加接近于操作系统层面。其所能表述的日期范围被限定在1970-2038之间,如果需要表述范围之外的日期,可能需要考虑使用datetime模块更好。

常用方法:

  1. time.sleep(sec):推迟指定时间sec后继续运行
  2. time.localtime([sec]):将一个时间戳转化成一个当时时区的struct_time,如果sec参数未输入,则以当前时间为转化标准
  3. time.strftime(format[,t]):将指定的struct_time(默认为当前时间),根据指定的格式化字符串输出
  4. time.time():返回当前时间的时间戳(以秒表示的浮点数)
  5. time.mktime(t):将一个struct_time转换为时间戳
  6. time.gmtime([sec]):将一个时间戳转化为UTC时区(0时区)的struct_time
  7. time.clock():不同系统含义不同。UNIX——返回进程时间,WINS第一次调用返回进程运行的实际时间,第二次调用是自第一次调用以后到现在的运行时间
  8. time.asctime([t])把一个时间的元组或者struct_time表示为“Sun Jun 20 23:21:05 1993”,如果无参数,则会把time.localtime()作为参数传入
  9. time.ctime([sec]):把一个时间戳转化为time.asctime()的形式,如果无参数或者为None时,则会把time.time()作为参数传入。它的作用相当于time.asctime(time.localtime(sec))
  10. time.strftime(format[,t]):把一个代表时间的元组或者struct_time转化为格式化的时间字符串。如果t为指定,将传入time.localtime()。如果元组中任何一个元素越界,ValueError的错误将会被抛出

代码实例:格式化输出需要的时间

f9b28e61af499b5e0869310b53df79c2.png

6717a9e1c3b6b1df7b917df500193580.png

datetime

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

  • timedelta:主要用于计算时间跨度
  • tzinfo:时区相关
  • time:只关注时间
  • date:只关注日期
  • datetime:同时有时间和日期

在实际使用中,用得比较多的是datetime.datetime和datetime.timedelta,另外两个datetime.date和datetime.time实际使用和datetime.datetime并无太大差别。datetime.datetime 主要会有以下属性及常用方法:

  1. datetime.year
  2. datetime.month
  3. datetime.day
  4. datetime.hour
  5. datetime.minute
  6. datetime.second
  7. datetime.microsecond
  8. datetime.tzinfo():时区
  9. datetime.date():返回date对象
  10. datetime.time():返回time对象
  11. datetime.replace(name=value)
  12. datetime.timetuple():返回time.struct_time 对象
  13. datetime.strftime(format):按照format进行格式化输出

除了实例本身具有的方法,类本身也提供了很多好用的方法:

  1. datetime.strptime(date_string,format): 给定时间格式解析字符串
  2. datetime.now([tz]):当前时间默认 localtime
  3. datetime.today():当前时间

timedelta

923f40ebd34791e27d09767e3b770799.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值