python中time时间_python中的时间(time和datetime)

Python中的时间格式真烦。

并不经常用到Python中的时间,偶尔用的时候经常需要google。

Python对于日期的处理主要是time和datetime两个模块

总结

先总结,好查阅。

time模块归类于Generic Operating System Services,基于Unix Timestamp。

datetime模块基于time进行了封装,提供更多函数。

这两个模块都处理事件,但是对于时间的封装却不同。

time模块提供struct_time类, 即(time tuple, p_tuple, 时间元组)

datetime模块常用datetime和timedelta类,也提供了date、time类

python中时间分为

类型

所属

时间戳

时间元组p_tuple

time模块

datetime对象

datetime模块(又包含date对象和time对象)

timedelta对象

datetime模块

常用

生成time tuple类对象p_tuple以及格式化输出

>>> time.localtime() # 参数为时间戳,默认为当前时间

time.struct_time(tm_year=2016, tm_mon=8, tm_mday=18, tm_hour=10, tm_min=48, tm_sec=55, tm_wday=3, tm_yday=231, tm_isdst=0)

# p_tuple to str, 参数是format, p_tuple(默认为now)

>>>time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())

2016-08-18 10:57:11

# str to p_tuple, 参数是str,format

>>>str = '2016-08-18 10:57:11'

>>>time.strptime(str, "%a %b %d %H:%M:%S %Y")

...

生成时间戳

>>>import time, datetime

>>>time.time()

>>>time.mktime() # 参数是p_tuple # 默认是当前时间

>>>datetime.datetime.timestamp() # 参数是datetime对象,默认是当前时间

生成datetime类对像以及格式化输出

>>>datetime.datetime.now([tz]) #参数是时区,如果提供,则返回指定时区的本地时间

>>>datetime.datetime.today() #返回当前时间的datetime对象

>>>datetime.datetime.utcnow() #返回一个当前utc时间的datetime对象

>>>datetime.datetime.fromtimestamp(timestamp[,tz]) #根据时间戳

# datetime to str,datetime对象. strftime (format)

>>>d = datetime.datetime.now()

>>>d.strftime("%Y-%m-%d %H:%M:%S")

'2015-01-12 23:13:08'

# str to datetime

>>>str = '2014-12-31 18:20:10'

>>>datetime.datetime.strptime(str,"%Y-%m-%d %H:%M:%S")

datetime.datetime(2014, 12, 31, 18, 20, 10)

datetime.timedelta类

时间差,datetime模块中datetime对象、date对象和time对象相加减的结果是timedelta对象

timedelta接受多种参数

class datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)

>>>td = datetime.timedelta(hours=3, days=1, minutes=20)

>>>td

1 day, 3:20:00

>>>td.days

1

>>>td.seconds

12000

p_tuple 和 datetime对象的转换

# datetime to p_tuple

>>> import datetime

>>> datetime.datetime.now().timetuple()

time.struct_time(tm_year=2016, tm_mon=8, tm_mday=25, tm_hour=9, tm_min=30, tm_sec=49, tm_wday=3, tm_yday=238, tm_isdst=-1)

# p_tuple to datetime, 先换成时间戳

>>>ts = time.mktime(p_tuple)

>>>dt = datetime.datetime.fromtimestamp(ts)

time

To-do

datetime

To-do

日期格式化符号

符号

含义

%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),星期天为星期的开始

%W

一年中的星期数(00-53)星期一为星期的开始

%x

本地相应的日期表示

%X

本地相应的时间表示

%Z

当前时区的名称

%%

%号本身

点击访问我的博客

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值