python中time、date、datetime

利用业余时间整理了一下python中关于时间的转换操作。

python中有3中类型:timedatedatetime。类型转换时要借助strftimestrptime方法来进行时间和字符串的转化。

1、下面简单介绍一下:

  1. date 的属性只有 strftimedatetime 的属性有 strftimestrptime
  2. time 的属性也有 strftimestrptime。但是 time.strptime 得出的时间类型是 struct_time 类型,需要 mktime 来转换,转换结果是 float 类型的时间戳;转换为 str 时间时,也要用 time 来调用 strftime
  3. strftime 中时间参数,也可以用 struct_time 格式的内容。例:time.strftime ("时间格式",struct_time 格式的表达式)。注意:这里只可以用 time,如果用datetime.strftimedate.strftime 会报错,因为后两者没有对应的方法。
  4. datetime 类型的时间,才可以适用 timestamp 转化为时间戳;date 类型不可以time.localtime([ sec ])
    1. time localtime() 函数类似 gmtime(),作用是格式化时间戳为本地的时间。 如果sec参数未输入,则以当前时间为转换标准。 
    2. sec -- 转换为 time.struct_time 类型的对象的秒数。
  5. strftime:str 表示字符串,f 是 format,time 是时间,就是时间格式化为字符串
  6. strptime:str 表示字符串,p 是 parse,time 是时间,就是字符串解析为时间
  7. time.ctime() 与 time.gmtime() 时间不一致:time.ctime() 是北京时间,time.gmtime() 是格林尼治时间(英国的标准时间),两者有8小时的时差(格林尼治比北京晚8小时)
  8. 用 “time.localtime(时间戳(s)) -> struct_time” 处理完时间戳后,可以用 time.strftime() 转换成各种样式

2、struct_time类型的结构:

time.struct_time(tm_year=2016, tm_mon=11, tm_mday=27, tm_hour=10, tm_min=26, tm_sec=5, tm_wday=6, tm_yday=332, tm_isdst=0)

 字段解析:

int tm_sec; /* 秒 – 取值区间为[0,59] */
int tm_min; /* 分 - 取值区间为[0,59] */
int tm_hour; /* 时 - 取值区间为[0,23] */
int tm_mday; /* 一个月中的日期 - 取值区间为[1,31] */
int tm_mon; /* 月份(从一月开始,0代表一月) - 取值区间为[0,11] */
int tm_year; /* 年份,其值等于实际年份减去1900 */
int tm_wday; /* 星期 – 取值区间为[0,6],其中0代表星期一,1代表星期二,以此类推 */
int tm_yday; /* 从每年的1月1日开始的天数 – 取值区间为[0,365],其中0代表1月1日,1代表1月2日,以此类推 */
int tm_isdst; /* 夏令时标识符,实行夏令时的时候,tm_isdst为正;不实行夏令时的时候,tm_isdst为0;不了解情况时,tm_isdst()为负。
strftime  strptime关于时间与字符串的转换题

3、time、datetime、时间戳的转换

(圆矩形框上的蓝色标注是下面的语句输出的type类型)

时间戳转换

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值