python time模块 datetime calendat 总结

时间的类型

1、时间戳类型 timestamp  1587102808.16    自1970-1-1 0:00:00 至今所经历的秒数

2、time.struct_time 类型 如下 

time.struct_time(tm_year=2020, tm_mon=4, tm_mday=17, tm_hour=13, tm_min=53, tm_sec=28, tm_wday=4, tm_yday=108, tm_isdst=0)    年月日小时分钟秒 星期(0是周一,6是周七 )当年第N天,是否夏令时

3、datetime模块的datetime类

4、字符串格式 可按需求定制化   2020--04--17 05:55:49

5、其他的时间概念 世界标准时间     当地时间加上时差

时间使用的场景: 在不同的时间类型之间 相互转换  在世界时间和本地时间之间相互转换

一、 time 模块使用      

时间戳类型 

time.time()  =  当地时间时间戳类型  

--->字符串   time.ctime([secs])

--->struct     time.localtime(timestamp)= struct    

import time
print time.time()
print time.ctime(time.time())
print time.localtime(time.time())
1590385115.23
Mon May 25 13:38:35 2020
time.struct_time(tm_year=2020, tm_mon=5, tm_mday=25, tm_hour=13, tm_min=38, tm_sec=35, tm_wday=0, tm_yday=146, tm_isdst=0)

字符串格式 

time.ctime() = 当地时间字符串类型     默认把当前时间的时间戳转换到字符串

 

--->struct     time.strptime(time_str, time_format_str)   

Python time ctime() 函数把一个时间戳(按秒计算的浮点数)转化为time.asctime()的形式。 如果参数未给或者为None的时候,将会默认time.time()为参数。它的作用相当于 asctime(localtime(secs))。

问题1:字符串可以直接转时间戳吗?

import time
struct_time = time.strptime("30 Nov 00", "%d %b %y")
print("返回的元组: %s " % str(struct_time))
>>>>
返回的元组: time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1) 



date = '2021-04'
print(date)
struct_time = time.strptime(date, "%Y-%m")
print("返回的元组: %s " % str(struct_time))
print(time.ctime())
>>>  21年4月,默认返回21年4月1日
返回的元组: time.struct_time(tm_year=2021, tm_mon=4, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=91, tm_isdst=-1) 

struct格式     是一个元祖的格式

time.localtime()  = 当地时间struct类型
time.gmtime([secs])  = 世界时间    struct类型  

--->字符串 

 time.strftime(time_format_str, struct_time_instance) 自定义格式
time.asctime([t])  "Fri Aug 19 11:14:16 2016"

--->时间戳     ttime.mktime(time.localtime())

print time.localtime()
print time.gmtime()
print time.strftime("'%Y-%m-%d %H:%M'", time.localtime())
print time.strftime("'%Y-%m-%d %H:%M'", time.gmtime())
print time.asctime(time.localtime())
print time.asctime(time.gmtime())
print time.mktime(time.localtime())
print time.mktime(time.gmtime())

time.struct_time(tm_year=2020, tm_mon=5, tm_mday=25, tm_hour=13, tm_min=46, tm_sec=6, tm_wday=0, tm_yday=146, tm_isdst=0)
time.struct_time(tm_year=2020, tm_mon=5, tm_mday=25, tm_hour=5, tm_min=46, tm_sec=6, tm_wday=0, tm_yday=146, tm_isdst=0)
'2020-05-25 13:46'
'2020-05-25 05:46'
Mon May 25 13:46:06 2020
Mon May 25 05:46:06 2020
1590385566.0
1590356766.0

time.altzone  返回与utc时间的时间差,以秒为单位(西区该值为正,东区该值为负)。其表示的是本地DST 时区的偏移量,只有daylight非0时才使用。

time.clock()  返回当前进程所消耗的处理器运行时间秒数(不包括sleep时间),值为小数;该方法Python3.3改成了time.process_time()

print time.altzone
print time.clock()
-32400
0.0


 

 

python中时间日期格式化符号:

  • %y 两位数的年份表示(00-99)
  • %Y 四位数的年份表示(000-9999)
  • %m 月份(01-12)
  • %d 月内中的一天(0-31)
  • %H 24小时制小时数(0-23)
  • %I 12小时制小时数(01-12)
  • %M 分钟数(00-59)
  • %S 秒(00-59)
  • %a 本地简化星期名称
  • %A 本地完整星期名称
  • %b 本地简化的月份名称
  • %B 本地完整的月份名称
  • %c 本地相应的日期表示和时间表示
  • %j 年内的一天(001-366)
  • %p 本地A.M.或P.M.的等价符
  • %U 一年中的星期数(00-53)星期天为星期的开始
  • %w 星期(0-6),星期天为 0,星期一为 1,以此类推。
  • %W 一年中的星期数(00-53)星期一为星期的开始
  • %x 本地相应的日期表示
  • %X 本地相应的时间表示
  • %Z 当前时区的名称
  • %% %号本身

二、 datetime 模块使用

在支持日期时间数学运算的同时,实现的关注点更着重于如何能够更有效地解析其属性用于格式化输出和数据操作

学习之后 会发现  datetime 模块里的datetime类  基本满足个人需求。。。。。

atetime模块中包含如下类:

类名功能说明
date日期对象,常用的属性有year, month, day
time时间对象
datetime日期时间对象,常用的属性有hour, minute, second, microsecond
datetime_CAPI日期时间对象C语言接口
timedelta时间间隔,即两个时间点之间的长度
tzinfo时区信息对象

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值