Python比较字符串格式类型时间大小
已知的格式是
06/24/2021 15:47:01.491
时间比较的思路是,把数据转换成时间戳比较:
第一步是把 06/24/2021 15:47:01.491 格式转换称 2021-06-24 15:47:01.490000
valid_time = '06/24/2021 15:47:01.490'
d1 = datetime.datetime.strptime(valid_time,'%m/%d/%Y %H:%M:%S.%f')
d2 = datetime.datetime.strptime(valid_time,'%m/%d/%Y %H:%M:%S.%f').strftime('%Y-%m-%d %H:%M:%S.%f')
print(d1, type(d1))
print(d2, type(d2))
结果:
2021-06-24 15:47:01.490000 <class 'datetime.datetime'>
2021-06-24 15:47:01.490000 <class 'str'>
第二步是将 2021-06-24 15:47:01.490000 数据转换成毫秒的时间戳
dd = datetime.datetime.strptime(valid_time,'%m/%d/%Y %H:%M:%S.%f')
ts = int(time.mktime(dd.timetuple()) * 1000.0 + (dd.microsecond / 1000.0))
print(ts, type(ts))
结果:
1624520821490 <class ‘int’>
如果是秒级的数据转换成时间戳:
def get_time_stamp(valid_time):
dd = datetime.datetime.strptime(valid_time, '%m/%d/%Y %H:%M:%S').strftime('%Y-%m-%d %H:%M:%S')
ts = int(time.mktime(time.strptime(dd, '%Y-%m-%d %H:%M:%S')))
print(ts)
if __name__ == '__main__':
get_time_stamp("06/24/2021 15:47:01")
结果:
2021-06-24 15:47:01 <class ‘str’>
1624520821
第三步就是两个毫秒级的时间戳进行比较
'''
@description: 获取时间的时间戳进行时间大小比较
@param {*} valid_time 传入的时间格式:指定为 "06/24/2021 15:47:01.490"
@return {*} 返回 valid_time 的时间戳
@author: wanghao
'''
def get_time_stamp(valid_time):
dd = datetime.datetime.strptime(valid_time,'%m/%d/%Y %H:%M:%S.%f')
ts = int(time.mktime(dd.timetuple()) * 1000.0 + (dd.microsecond / 1000.0))
return ts
if __name__ == '__main__':
stamp1 = get_time_stamp("06/24/2021 15:47:01.490")
stamp2 = get_time_stamp("06/24/2021 15:47:01.778")
if (stamp1 - stamp2 <= 0):
print('stamp1 is bigger')
else:
print('stamp2 is bigger')
如果传进来的字符串是毫秒级的,但是需要的时间戳是秒级的,就转换一下
def get_time_stamp(valid_time):
dd = datetime.datetime.strptime(valid_time,'%m/%d/%Y %H:%M:%S.%f').strftime("%Y-%m-%d %H:%M:%S")
ts = int(time.mktime(time.strptime(dd, '%Y-%m-%d %H:%M:%S')))
return ts
if __name__ == '__main__':
stamp1 = get_time_stamp("06/24/2021 15:47:01.490")
stamp2 = get_time_stamp("06/24/2021 15:47:02.778")
if (stamp1 - stamp2 <= 0):
print('stamp2 is bigger')
else:
print('stamp1 is bigger')
总结:
两个时间比较,就是把两个时间的字符串转换成int类型的时间戳进行比较。
本文来自博客园,作者:喝茶看狗叫,转载请注明原文链接:https://www.cnblogs.com/zdwzdwzdw/p/17487811.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· 因为Apifox不支持离线,我果断选择了Apipost!