Django的datetime.timedelta类(Django编程-2)
datetime.timedelta对象代表两个时间之间的时间差,两个date或datetime对象相减就可以返回一个timedelta对象。
如果有人问你昨天是几号,这个很容易就回答出来了。但是如果问你200天前是几号,就不是那么容易答出来。而在Python中datetime模块中的timedelta就可以很轻松给出答案。
函数原型:
class datetime.timedelta([days[, seconds[, microseconds[, milliseconds[, minutes[, hours[, weeks]]]]]]])
从构造函数的定义中可以看出,所有参数都是可选的,并且默认都是0。参数的值可以是整数,浮点数,正数或负数。timedelta也有自己的一些属性和方法,可以通过dir(datetime.timedelta)查看。针对时间存储,timedelta内部只能存储days,seconds,microseconds,其他参数的值会自动按如下规则进行转换:
1 millisecond(毫秒)转换成 1000 microseconds(微秒)
1 minute 转换成 60 seconds
1 hour 转换成 3600 seconds
1 week转换成 7 days
一、两个datetime.datetime类型相减 或两个 datetime.date类型相减 的结果就是datetime.timedelta类型
二、以下是具体使用方法
- 1、以下是打印一天后的时间
now=datetime.datetime.now()
now
datetime.datetime(2018, 1, 20, 11, 5, 18, 227000)
delta=datetime.timedelta(days=1)
delta
datetime.timedelta(1)
newtime=now+delta
print newtime
2018-01-21 11:05:18.227000
newtime
datetime.datetime(2018, 1, 21, 11, 5, 18, 227000)
str(newtime)
‘2018-01-21 11:05:18.227000’
str(newtime)[:-7]
‘2018-01-21 11:05:18’
print newtime.strftime(“%Y-%m-%d %H:%M:%S”)
2018-01-21 11:05:18
- 2、以下是得到1天前的时间,还有一种
now=datetime.datetime.now()
now-datetime.timedelta(days=1)
datetime.datetime(2018, 1, 19, 11, 22, 11, 774000)
now+datetime.timedelta(days=-1)
datetime.datetime(2018, 1, 19, 11, 22, 11, 774000)
now
datetime.datetime(2018, 1, 20, 11, 22, 11, 774000)
- 3、以下是得到3小时前的时间
now=datetime.datetime.now()
now-datetime.timedelta(hours=3)
datetime.datetime(2018, 1, 20, 8, 14, 45, 545000)
- 4、以下是得到3小时30分钟前的时间
now
datetime.datetime(2018, 1, 20, 11, 14, 45, 545000)
now-datetime.timedelta(hours=3,minutes=30)
datetime.datetime(2018, 1, 20, 7, 44, 45, 545000)
- 5、以下是得到3小时30秒前的时间
now
datetime.datetime(2018, 1, 20, 11, 14, 45, 545000)
now-datetime.timedelta(hours=3,seconds=30)
datetime.datetime(2018, 1, 20, 8, 14, 15, 545000)
- 6、以下是得到3天3小时30秒前的时间
now-datetime.timedelta(hours=3,seconds=30,days=3)
datetime.datetime(2018, 1, 17, 8, 14, 15, 545000)
- 7、以下是得到总秒数,类型是float型
datetime.timedelta(hours=3,seconds=22).total_seconds()
10822.0
3*60*60+22
10822
type(datetime.timedelta(hours=3,seconds=22).total_seconds())
Django的datetime.timedelta类(Django编程-2)的更多相关文章
- datetime.timedelta类
datetime.timedelta对象代表两个时间之间的时间差,两个date或datetime对象相减就可以返回一个timedelta对象. Python中datetime模块中的timedelta ...
- 孤荷凌寒自学python第三十一天python的datetime.timedelta模块
孤荷凌寒自学python第三十一天python的datetime.timedelta模块 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) datetime.timedelta模块是一个表示 ...
- DRF JWT的用法 & Django的自定义认证类 & DRF 缓存
JWT 相关信息可参考: https://www.jianshu.com/p/576dbf44b2ae DRF JWT 的使用方法: 1. 安装 DRF JWT # pip install djang ...
- django 搭建一个投票类网站(一)
写在最前,之前零零散散的看过django,但是由于比较杂,学的云里雾里的,所以就停了一段落,但是我最近找到了一个django的书,是李建编著的django入门与实践,于是,打算照着书上的步骤来写好一个 ...
- Django 1.6 基于类的通用视图
Django 1.6 基于类的通用视图 最初 django 的视图都是用函数实现的,后来开发出一些通用视图函数,以取代某些常见的重复性代码.通用视图就像是一些封装好的处理器,使用它们的时候只须要给出特 ...
- Django中manger/QuerySet类与mysql数据库的查询
Django中的单表操作 1.精确查询 #查询的结果返回是容器Query Set的函数(Query Set模型类)# 1. all() 查询的所有的符合条件的结果,支持正向索引,支持索引切片,不 ...
- 第四百零六节,自定义用户表类来继承Django的用户表类,
第四百零六节,自定义用户表类来继承Django的用户表类, models.py from django.db import models # Create your models here. from ...
- Django——django1.6 基于类的通用视图
最初 django 的视图都是用函数实现的,后来开发出一些通用视图函数,以取代某些常见的重复性代码.通用视图就像是一些封装好的处理器,使用它们的时候只须要给出特定的参数集即可,不必关心具体的实现.各种 ...
- Django——20141014深入理解Django HttpRequest HttpResponse的类和实例
深入理解Django HttpRequest HttpResponse的类和实例 了解META选项 了解中间件 理清所有模板传输模板变量的方式,并作出选择 Django模板系统:如何利用Django模 ...
随机推荐
- AI 数值计算
数值计算,通过迭代来更新解的估计值. 1.上溢和下溢 实数按照一定的精度存储在计算机中,通常存在误差,进而可能导致一些错误. 1)下溢(underflow),例如接近0的数 2)上溢(overflow ...
- I2C总线通信
UART 属于异步通信,比如电脑发送给单片机,电脑只负责把数据通过TXD 发送出来即可,接收数据是单片机自己的事情.而 I2C 属于同步通信, SCL 时钟线负责收发双方的时钟节拍, SDA 数据线负 ...
- Android学习之基础知识七—碎片的使用
碎片(Fragment)是一种可以嵌入在活动中的UI片断,它能让程序更加合理和充分地利用大屏幕的空间,它与活动相似,可以简单的理解为一个迷你型的活动,它也有自己的生命周期.碎片在平板的应用非常广泛. ...
- 笨鸟先飞之ASP.NET MVC系列之过滤器(04认证过滤器)
概念介绍 认证过滤器是MVC5的新特性,它有一个相对复杂的生命周期,它在其他所有过滤器之前运行,我们可以在认证过滤器中创建一个我们定义的认证方法,也可以结合授权过滤器做一个复杂的认证方法,这个方法可以 ...
- Hive 实现 wordcount
创建表: create table hive_wordcount(context string); load data local inpath '/home/hadoop/files/hellowo ...
- HTML5-应用程序缓存(Application Cache)
一.什么是应用程序缓存? HTML5 引入了应用程序缓存(Application Cache),这意味着 web 应用可进行缓存,并可在没有因特网连接时进行访问. 二.优势 离线浏览 - 用户可在应用 ...
- git log 的常用选项
- Bitcoin 使用及配置记录
常用配置 bitcoin-qt.exe -testnet -printtoconsole -conf=D:\Bitcoin\bitcoin.conf -datadir=D:\Bitcoin\Data ...
- Trusted Block Chain Summit(2018.10.09)
时间:2018.10.09地点:北京金隅喜来登大酒店
- 使用Hexo+Github搭建属于自己的博客(进阶)
主题的配置:这里以NexT主题作为题材 1.安装NexT,在其文件夹中鼠标右键,点击Git Base Here.输入命令:git clone https://github.com/iissnan/he ...