前言:
工作中经常需要对时间做格式化处理,也有时候需要对各种格式的时间进行比较,这里简单梳理一下处理方法。
1.时间格式化
时间格式化涉及到不同类型的时间格式相互转换,其简单的思路就是规定一种通用时间表示格式,转换的话就先转成通用格式,然后再做进一步调整,我们通常见的格式是时间戳,所以这里写一个时间戳转格式时间的函数
import datetime
def get_formattime_from_timestamp(time_stamp):
date_array = datetime.datetime.utcfromtimestamp(time_stamp)
time_str = date_array.strftime("%Y-%m-%d %H:%M:%S.%f")
return time_str
if __name__ == '__main__':
print get_formattime_from_timestamp(1579421126.123)
结果:
2020-01-19 08:05:26.123000
2.格式化时间转时间戳
import time
def get_timestamp_from_formattime(format_time):
struct_time = time.strptime(format_time, '%Y-%m-%d %H:%M:%S')
return time.mktime(struct_time)
if __name__ == '__main__':
print get_timestamp_from_formattime('2020-01-19 16:08:32')
结果:
1579421312.0
3.时间比较
时间比较建议先把各种格式的时间用 2 的方法全部转换成时间戳,然后对时间戳进行大小比较
def compare_time(time_1, time_2):
if time_1 and time_2:
time_stamp_1 = time.mktime(time.strptime(time_1, '%Y-%m-%d %H:%M'))
time_stamp_2 = time.mktime(time.strptime(time_2, '%Y-%m-%d %H:%M'))
if int(time_stamp_1) > int(time_stamp_2):
return time_2
else:
return time_1
else:
return None
4.当前时间
有好几种方式
import datetime
import time
if __name__ == '__main__':
print time.time()
print time.strftime('%Y-%m-%d %H:%M:%S')
print datetime.datetime.utcnow()
结果:
1579422002.85
2020-01-19 16:20:02
2020-01-19 08:20:02.851000
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/16583.html