Python你可能会用到的时间比较

简介:

    最近用Python来做时间的比较,整理一下。

    场景:数据库保存的是datetime.datetime.now()的str类型的数据,需要把数据库保存的时间跟现在的时间进行比较。

    用到的库:datetime.datetime.now()    datetime.datetime.strptime()    datetime.timedelta()

数据模拟:

1
2
3
4
5
6
7
8
9
10
11
>>>  from  datetime  import  datetime, timedelta
>>> nowtime  =  datetime.now()     # 现在的时间
>>> nowtime
datetime.datetime( 2017 6 20 20 11 12 926763 )
>>> 
>>> lasthour  =  datetime( 2017 6 20 19 11 12 926763 )     # 1个小时前的时间
>>> lasthour
datetime.datetime( 2017 6 20 19 11 12 926763 )
>>> lasthour_str  =  str (lasthour)           # 模拟从数据库取出来的str类型时间数据
>>> lasthour_str
'2017-06-20 19:11:12.926763'

str时间数据转换:

1
2
3
4
# 将str类型时间数据转换为datetime.datetime类型时间数据
>>> lasthour_new  =  datetime.strptime(lasthour_str,  '%Y-%m-%d %H:%M:%S.%f' )
>>> lasthour_new
datetime.datetime( 2017 6 20 19 11 12 926763 )

时间比较:

1
2
3
4
5
6
7
8
9
10
11
12
# lasthour_new和nowtime的时间差是否大于1个小时
>>> nowtime  -  lasthour_new > timedelta(hours = 1 )
False
# lasthour_new和nowtime的时间差是否等于1个小时
>>> nowtime  -  lasthour_new  = =  timedelta(hours = 1 )
True
# lasthour_new和nowtime的时间差是否大于60分钟
>>> nowtime  -  lasthour_new > timedelta(minutes = 60 )
False
# lasthour_new和nowtime的时间差是否等于60分钟
>>> nowtime  -  lasthour_new  = =  timedelta(minutes = 60 )
True




本文转自 xpleaf 51CTO博客,原文链接:http://blog.51cto.com/xpleaf/1940304,如需转载请自行联系原作者

相关文章
OPENVPN双网卡路由规则
iptables -t nat   -A POSTROUTING -s 10.7.0.0/24 -d 10.18.101.0/24 -j SNAT --to-source 10.
3188 0
|
安全 关系型数据库 MySQL
讲解移动应用中的数据同步技术。
【4月更文挑战第1天】移动应用数据同步确保跨设备一致性,常见方法包括:数据库主从复制(如MySQL)维护多副本一致性;使用Firebase等框架简化同步并支持离线功能;选择HTTP、轮询、Socket或Push服务等同步协议,权衡实时性与实现复杂度;蚂蚁集团的SYNC提供安全大规模数据同步。开发者须依据实时性、安全性、性能需求及网络条件选择合适技术。
434 0
|
Kubernetes 容器 数据安全/隐私保护
配置kubectl客户端通过token方式访问kube-apiserver
使用的变量 本文档用到的变量定义如下: $ export MASTER_IP=XX.XX.XX.XX # 替换为 kubernetes master VIP $ export KUBE_APISERVER="https://${MASTER_IP}:6443" $ 创建 kubectl confi.
2997 0
|
运维 监控 网络协议
|
数据库 Android开发 数据库管理
Android LitePal的简单使用
Android LitePal的简单使用
377 0
Android LitePal的简单使用
|
算法 开发工具 数据安全/隐私保护
【Python】开发工具库-pycrypto(二)
本文主要介绍下在Python语言环境下,几种常见的加密方式。对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下。
【Python】开发工具库-pycrypto(二)
又再肝3天,整理了65个Matplotlib案例,这能不收藏?(上)
又再肝3天,整理了65个Matplotlib案例,这能不收藏?(上)
又再肝3天,整理了65个Matplotlib案例,这能不收藏?(上)
|
存储 负载均衡 NoSQL
分布式Session:基于Spring-Session 和 Redis实现
分布式Session:基于Spring-Session 和 Redis实现
分布式Session:基于Spring-Session 和 Redis实现
|
JSON SpringCloudAlibaba 算法
微服务场景实战:基于SpringCloud Alibaba从零搭建鉴权中心服务(1)
微服务场景实战:基于SpringCloud Alibaba从零搭建鉴权中心服务(1)
微服务场景实战:基于SpringCloud Alibaba从零搭建鉴权中心服务(1)
|
缓存 Java Unix
Go:包管理工具GOPATH、vendor、dep 、go module
Go:包管理工具GOPATH、vendor、dep 、go module
Go:包管理工具GOPATH、vendor、dep 、go module