本文目录一览:
- 1、python date,datetime 和time的区别
- 2、python中的time模块,如何获取当前时间并格
- 3、python 如何将字符串转化为datetime.date
- 4、Python中如何用time计算时间差
- 5、python中的time模块
python date,datetime 和time的区别
1,date是日期,通常就是日历上的年月日,比较大一点的时间单位。
2,time通常就是指秒钟数,即从1970年1月1日至今进过的秒钟数。或者指一天中的时分秒,比较小一点的时间单位。就像你问别人What's the time,别人会告诉你几点几分,而不会告诉你年月日。
3,datetime就是年月日和时分秒,包含以上两者。
datetime模块是用来处理日期时间的,通常是用来进行计算日期,可以很方便的使用加减运算。而time模块主要是用来处理秒钟时间的,当然这个秒钟数也可以转化成日期,获取当前日期通常就是从这个模块获取的。不过说time时,有时候表示的也会很宽泛,因为它的词义就是时间嘛,这个不用太计较的。不过date的意义是确定无疑的。
python中的time模块,如何获取当前时间并格
import time
# 使用time获取当前时间
time.localtime()
# 使用 time 模块的 strftime 方法来格式化日期,:
# 格式化成2018-05-28 17:36:35形式
print (time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) )
# 格式化成Mon May 28 17:36:35 2018形式
print (time.strftime("%a %b %d %H:%M:%S %Y", time.localtime()))
python3
python 如何将字符串转化为datetime.date
比较省事的办法是用time模块的strptime方法来解析日期字符串成为时间对象,然后再把年月日部分提取出来,最后生成datetime.date对象。
# 方法1, 用time模块的strptime方法来解析日期字符串成为时间对象
import time, datetime
date_str = '2017-10-19'
fmt = '%Y-%m-%d'
time_tuple = time.strptime(date_str, fmt)
year, month, day = time_tuple[:3]
a_date = datetime.date(year, month, day)
print(a_date, type(a_date))
# 方法2, 直接把日期字符串拆分转换成 年/月/日 对应的整数
import datetime
date_str = '2017-10-19'
print(datetime.date(*map(int, date_str.split('-'))))
Python中如何用time计算时间差
1
首先我们需要import
datetime,导入日期处理库
2
然后把日期转化成datetime标准格式,如下图所示使用datetime.datetime.strptime方法将字符串格式的时间转化为标准格式
3
其中"%Y/%m/%d
%H:%M:%S"为time字符串的时间格式
Y为年,m为月,d为天,H为小时,M为分钟,S为秒,执行转化结果如下
4
下面如果我们要加的时间是天则如下图,当前时间加上datetime.timedelta(days=1)。datetime的timedelta方法实现
5
同理如果要加的时间是小时则如下,当前时间加上datetime.timedelta(hour
s=1)
6
同理如果要加的时间是分钟则如下,当前时间加上datetime.timedelta(minutes=1)
7
如果加的时间是s的话,如下当前时间加上datetime.timedelta(seconds=1)
8
如果是加年的话需要把年数转化成day再做计算
python中的time模块
time模块是python专门用来处理时间的内建库。
下面我们来记录一些基本使用方法。
ps: 用到了一些概念,比如unix时间戳,感兴趣的同学自行百度。
下文参考他人博客内容, 传送门
time.time()函数获取的是Unix时间戳。
返回的是一个float类型的数值。
在python中的time模块中定义了一个叫struct_time的元组,是用来构建时间对象的。
struct_time元组共9个元素组成,如下图:
这个函数可以接受一个unix时间戳,然后转换为struct_time。
如果不传入second参数,则会返回当前时间的时间戳的struct_time对象
再试试传入当前时间的时间戳,是否能得到上面的struct_time呢?
和我们预期的结果一致。
和localtime函数类似,默认情况gmtime函数获取当前时间的utc时间。
返回当前时间的utc时间的struct_time对象。
也可以传入任意的unix时间戳,来得到utc时间。
将一个时间戳struct_time对象转换为时间戳。
传入一个struct_time对象,返回"Sun Jun 20 23:21:05 1993"这种格式的字符串。不传参数,返回当前时间的这种格式的字符串。
传入格式和struct_time,返回按照format格式格式化后的时间字符串。
格式占位符可以参考下图:
将字符串时间转为struct_time,time.strftime()的逆向操作。