datetime和time模块

内置模块:datetime

模块导入:from datetime import datetime

#!/usr/bin/env python
# -*- coding:utf-8 -*-
import time
from datetime import datetime,timezone,timedelta

# ######################## 获取datetime格式时间 ##############################
"""
v1 = datetime.now() # 当前本地时间(东8区)
print(v1)
tz = timezone(timedelta(hours=7)) # 当前东7区时间
v2 = datetime.now(tz)
print(v2)
v3 = datetime.utcnow() # 当前UTC时间
print(v3)
"""

# ######################## 把datetime格式转换成字符串 ##############################
"""
v1 = datetime.now()
print(v1,type(v1))
val = v1.strftime("%Y-%m-%d %H:%M:%S")  #有些windows中不支持格式化中有中文,比如"%Y年%m月",是因为用的编码不一致,但是在mac和linux中不用担心
print(val)
"""

# ######################## 字符串转成datetime ##############################
"""
v1 = datetime.strptime('2011-11-11','%Y-%m-%d')
print(v1,type(v1))
"""

# ######################## datetime时间的加减 ##############################
"""
v1 = datetime.strptime('2011-11-11','%Y-%m-%d')
v2 = v1 - timedelta(days=140)
date = v2.strftime('%Y-%m-%d')
print(date)
"""

# ######################## 时间戳和datetime关系 ##############################
"""
ctime = time.time()
print(ctime)
v1 = datetime.fromtimestamp(ctime)
print(v1)

v1 = datetime.now()
val = v1.timestamp()
print(val)
"""

  

时间格式化对照表:

格式符 说明

%a

星期的英文单词的缩写:如星期一, 则返回 Mon
%A 星期的英文单词的全拼:如星期一,返回 Monday
%b 月份的英文单词的缩写:如一月, 则返回 Jan
%B 月份的引文单词的缩写:如一月, 则返回 January
%c  返回datetime的字符串表示,如Sun Nov  3 16:26:22 2019
%d 返回的是当前时间是当前月的第几天
%f 微秒的表示: 范围: [0,999999]
%H 以24小时制表示当前小时
%I 以12小时制表示当前小时
%j 返回 当天是当年的第几天 范围[001,366]
%m 返回月份 范围[0,12]
%M 返回分钟数 范围 [0,59]
%P 返回是上午还是下午–AM or PM
%S 返回秒数 范围 [0,61]。。。手册说明的
%U 返回当周是当年的第几周 以周日为第一天
%W 返回当周是当年的第几周 以周一为第一天
%w 当天在当周的天数,范围为[0, 6],6表示星期六
%x 日期的字符串表示 :03/08/15
%X 时间的字符串表示 :23:22:08
%y 两个数字表示的年份 :2019为19
%Y 四个数字表示的年份 2015
%z 与utc时间的间隔 (如果是本地时间,返回空字符串)
%Z 时区名称(如果是本地时间,返回空字符串)

举几个日期格式化综合例子:

#!/usr/bin/env python
# -*- coding:utf-8 -*-

from datetime import datetime

dt = datetime.now()
print('时间:(%Y-%m-%d %H:%M:%S %f): ', dt.strftime('%Y-%m-%d %H:%M:%S %f'))
print('时间:(%Y-%m-%d %H:%M:%S %p): ', dt.strftime('%y-%m-%d %I:%M:%S %p'))
print('星期缩写%%a: %s ' % dt.strftime('%a'))
print('星期全拼%%A: %s ' % dt.strftime('%A'))
print('月份缩写%%b: %s ' % dt.strftime('%b'))
print('月份全批%%B: %s ' % dt.strftime('%B'))
print('日期时间%%c: %s ' % dt.strftime('%c'))
print('今天是这周的第%s天 ' % dt.strftime('%w'))
print('今天是今年的第%s天 ' % dt.strftime('%j'))
print('今周是今年的第%s周 ' % dt.strftime('%U'))
print('今天是当月的第%s天 ' % dt.strftime('%d'))

# 输出结果如下:
"""
时间:(%Y-%m-%d %H:%M:%S %f):  2019-11-03 16:30:49 525852
时间:(%Y-%m-%d %H:%M:%S %p):  19-11-03 04:30:49 PM
星期缩写%a: Sun 
星期全拼%A: Sunday 
月份缩写%b: Nov 
月份全批%B: November 
日期时间%c: Sun Nov  3 16:30:49 2019 
今天是这周的第0天 
今天是今年的第307天 
今周是今年的第44周 
今天是当月的第03天 
"""
View Code

 

内置模块:time

1.  time.time()  # 返回当前时间的时间戳(1970纪元后经过的浮点秒数)。

举例:

#!/usr/bin/env python
# -*- coding:utf-8 -*-

import time
now_time = time.time()
print(now_time)

输出结果:

1572770580.673631

  

2.  time.sleep()  # 使程序休眠多长时间,单位为秒

举例:计算程序运行多长时间

#!/usr/bin/env python
# -*- coding:utf-8 -*-

import time

old_time = time.time()
time.sleep(2)
new_time = time.time()
result = new_time - old_time
print(result)

输出结果:

2.0001912117004395

  

3. time.localtime()  # 返回的结果为 可命名元组(参考collections中namedtuple方法)

#!/usr/bin/env python
# -*- coding:utf-8 -*-
import time

p = time.localtime()
print(p)

输出结果:

time.struct_time(tm_year=2019, tm_mon=11, tm_mday=3, tm_hour=16, tm_min=49, tm_sec=58, tm_wday=6, tm_yday=307, tm_isdst=0)

  

posted @ 2019-11-03 16:50  无夜。  阅读(269)  评论(0编辑  收藏  举报