手记

python时间戳和日期的转换

time库相关方法

  • struct_time:time库定义的时间类型,包含一个 9元元组,其中 tm_isdist 表示是否为闰年。例如:

time.struct_time(tm_year=2018, tm_mon=10, tm_mday=12, tm_hour=13, tm_min=51, tm_sec=29, tm_wday=4, tm_yday=285, tm_isdst=0)
  • time.gmtime([secs]):接受一个时间戳,返回 UTC标准的 struct_time 。没有传入时间戳则以当前时间的时间戳为参数。

  • time.localtime([secs]) :与 time.gmtime([secs])相似,不过返回的是以当前时区为标准的 struct_time

  • time.mktime(t):接受一个 struct_time类型的变量,返回变量对应的时间戳。

  • time.sleep(secs):阻塞程序 secs秒。

  • time.strftime(format[, t]):接受一个 struct_time类型的变量,返回 format指定格式的时间。没有传入 struct_time参数,则默认以当前时间作为参数。

  • time.strptime(string[,format]):接受一个时间字符串,根据给定的 format将其转换为 struct_time类型并返回。如果 format与给定的字符串不匹配,会报 ValueError错误。

  • time.time():返回当前时间的时间戳。

应用:时间戳与格式化日期的相互转换

import timedef strftime(timestamp, format_string='%Y-%m-%d %H:%M:%S'):
    return time.strftime(format_string, time.localtime(timestamp))def strptime(string, format_string='%Y-%m-%d %H:%M:%S'):
    return time.mktime(time.strptime(string, format_string))


print(strftime(time.time()))

print(strptime('2018-10-11 15:08:24'))

format控制字符

控制字符含义
%a当地星期名缩写
%A当地星期名全写
%b当地月份名缩写
%B当地月份名全写
%c标准化输出,类似:Fri Oct 12 22:01:11 2018
%d日期数字,0到 31
%H24小时制小时
%I12小时制小时
%j日期在一年中是第多少天,例如 299
%m月份数字
%M分钟数字
%p显示 AM或 PM
%S秒数数字
%U一年中第几周(以周日为一周第一天计算,0到 53)
%w一周中第几天,0到 6
%W一年中第几周(以周一为一周第一天计算,0到 53)
%x当地日期,格式为 10/12/18
%X当地 时间,格式为 22:10:01
%y年份后两位,如 2018年就是 18
%Y年份全写,如 2018年就是 2018



作者:渔父歌
链接:https://www.jianshu.com/p/0249d10efa7c


0人推荐
随时随地看视频
慕课网APP