python 时间格式化和时间比较

导读:本篇文章讲解 python 时间格式化和时间比较,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

前言:

工作中经常需要对时间做格式化处理,也有时候需要对各种格式的时间进行比较,这里简单梳理一下处理方法。

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

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!