Python学习--15 日期和时间

来源:互联网 发布:iphone7plus发说说软件 编辑:程序博客网 时间:2024/06/05 12:04

方法预览:

datetime.now() # 当前时间,datetime类型datetime.timestamp() # 时间戳,浮点类型datetime.strftime('%Y-%m-%d %H:%M:%S') # 格式化日期对象datetime,字符串类型datetime.strptime('2017-2-6 23:22:13', '%Y-%m-%d %H:%M:%S') # 字符串转日期对象datetime.fromtimestamp(ts) # 获取本地时间,datetime类型datetime.utcfromtimestamp(ts) # 获取UTC时间,datetime类型

获取当前时间

# coding: utf-8from datetime import datetimenow = datetime.now()print(now)print(now.strftime('%Y-%m-%d %H:%M:%S'))print(type(now))

输出:

2017-02-06 23:18:29.6246982017-02-06 23:18:29<class 'datetime.datetime'>

strftime()用于格式化日期对象datetime。另外一个方法strptime()则负责把一个字符串str转为datetime对象:

from datetime import datetimeodate = datetime.strptime('2017-2-6 23:22:13', '%Y-%m-%d %H:%M:%S')print(odate)print(type(odate))

输出:

2017-02-06 23:22:13<class 'datetime.datetime'>

获取时间戳

# coding: utf-8from datetime import datetimeimport timenow = datetime.now()print(now)# datetime模块提供print(now.timestamp())# time模块提供print(time.time())

输出:

2017-02-06 23:26:54.6315821486394814.6315821486394814.631582

小数位表示毫秒数。

自定义时间转换为时间戳:

from datetime import datetime# 方式1:odate = datetime.strptime('2017-2-6 23:29:20', '%Y-%m-%d %H:%M:%S')print(odate.timestamp())# 方式2:odate = datetime(2017, 2, 6, 23, 29, 20)print(odate.timestamp())

输出:

1486394960.01486394960.0

注意:timestamp的值是与时区无关的。datetime是有时区的。

下面演示如何把timestamp转换为datetime。

时间戳转日期:

# coding: utf-8from datetime import datetimenow = datetime.now()ts = now.timestamp()print(datetime.fromtimestamp(ts))   # 本地时间print(datetime.utcfromtimestamp(ts))    # UTC时间

输出:

2017-02-06 23:38:05.2139372017-02-06 15:38:05.213937

datetime加减

可以直接导入timedelta类实现日期加减:

# coding: utf-8from datetime import datetime, timedeltaimport timenow = datetime.now()# now += timedelta(hours=10)# now += timedelta(minutes=10)# now += timedelta(weeks=1)now += timedelta(days=-1, hours=1, minutes=1, seconds=10)print(now)

输出:

2017-02-06 00:47:12.395231

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),星期天为星期的开始%W 一年中的星期数(00-53)星期一为星期的开始%x 本地相应的日期表示%X 本地相应的时间表示%Z 当前时区的名称%% %号本身



0 0
原创粉丝点击