Python中的日期的加减如何实现?

本文和大家分享的主要是python中日期加减操作相关内容,一起来看看吧,希望对大家学习python有所帮助。
1. 日期输出格式化
所有日期、时间的api都在datetime模块内。
1. datetime => string
now = datetime.datetime.now()
now.strftime(’%Y-%m-%d %H:%M:%S’)#输出2012-03-05 16:26:23.870105
strftime是datetime类的实例方法。
2. string => datetime
t_str = ’2012-03-05 16:26:23’d = datetime.datetime.strptime(t_str, ’%Y-%m-%d %H:%M:%S’)
strptime是datetime类的静态方法。
2. 日期比较操作
在datetime模块中有timedelta类,这个类的对象用于表示一个时间间隔,比如两个日期或者时间的差别。
构造方法:
datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)
所有的参数都有默认值0,这些参数可以是int或float,正的或负的。
可以通过timedelta.days、tiemdelta.seconds等获取相应的时间值。
timedelta类的实例,支持加、减、乘、除等操作,所得的结果也是timedelta类的实例。比如:
year = timedelta(days=365)ten_years = year *10nine_years = ten_years - year
同时,date、time和datetime类也支持与timedelta的加、减运算。
datetime1 = datetime2 +/- timedeltatimedelta = datetime1 - datetime2
这样,可以很方便的实现一些功能。
1. 两个日期相差多少天。
d1 = datetime.datetime.strptime(’2012-03-05 17:41:20’, ’%Y-%m-%d %H:%M:%S’)
d2 = datetime.datetime.strptime(’2012-03-02 17:41:20’, ’%Y-%m-%d %H:%M:%S’)
delta = d1 - d2print delta.days
输出:3
2. 今天的n天后的日期。
now = datetime.datetime.now()
delta = datetime.timedelta(days=3)
n_days = now + delta
print n_days.strftime(’%Y-%m-%d %H:%M:%S’)
输出:2012-03-08 17:44:50
#coding=utf-8import datetime
now=datetime.datetime.now()print now#将日期转化为字符串 datetime => stringprint now.strftime(’%Y-%m-%d %H:%M:%S’)
t_str = ’2012-03-05 16:26:23’#将字符串转换为日期 string => datetime
d=datetime.datetime.strptime(t_str,’%Y-%m-%d %H:%M:%S’)print d
#在datetime模块中有timedelta类,这个类的对象用于表示一个时间间隔,比如两个日#期或者时间的差别。
#计算两个日期的间隔
d1 = datetime.datetime.strptime(’2012-03-05 17:41:20’, ’%Y-%m-%d %H:%M:%S’)
d2 = datetime.datetime.strptime(’2012-03-02 17:41:20’, ’%Y-%m-%d %H:%M:%S’)
delta = d1 - d2print delta.daysprint delta
#今天的n天后的日期。
now=datetime.datetime.now()
delta=datetime.timedelta(days=3)
n_days=now+deltaprint n_days.strftime(’%Y-%m-%d %H:%M:%S’)

来源:BlogJava

时间: 2024-10-14 06:19:21

Python中的日期的加减如何实现?的相关文章

shell--日期格式化显示和日期的加减

1. 显示当前日期时间. $ dateMon Jun 2 13:55:47 HKT 2014 2. 按照指定格式显示当前时间(date +format). (1). 显示年月日. $ date "+%Y-%m-%d"2014-06-02 $ date "+%F"2014-06-02 $ date "+%Y/%m/%d"2014/06/02 格式也可以不用引号,但是最好加引号(不然中间有空格的话还得转义!). $ date +%Y/%m/%d 20

SQLServer学习笔记<>日期和时间数据的处理(cast转化格式、日期截取、日期的加减)和 case表达式

日期和时间数据的处理. (1)字符串日期 ‘20080301’,这一串为字符串日期,但必须保证为四位的年份,两位的月份,两位的日期.例如,查询订单表日期大于‘20080301’.可以这样写: 1 select * from sales.orders 2 where orderdate>'20080301' 结果如图所示: (2)cast进行转化.例如,可以讲‘20080301’转化为时间类型.其结果跟上图一样. 1 select * from sales.orders 2 where order

在axure中实现商品数量加减效果,原型库网站讲师-金乌 解答同学问

有同学在群里提问,如何使用axure制作商品数量增加减少效果,见GIF图.虽然属于初级教程,但很多同学还是小白新手阶段,所以特地录制了详细的视频讲解,供大家学习参考! 该教程由原型库网站录制http://www.yuanxingku.com转载请注明出处! 在axure中实现商品数量加减效果,原型库网站讲师-金乌 解答同学问,布布扣,bubuko.com

python中时间日期格式化符号

python中时间日期格式化符号: %y 两位数的年份表示(00-99) %Y 四位数的年份表示(000-9999) %m 月份(01-12) %d 月内中的一天(0-31) %H 24小时制小时数(0-23) %I 12小时制小时数(01-12) %M 分钟数(00=59) %S 秒(00-59) %a 本地简化星期名称 %A 本地完整星期名称 %b 本地简化的月份名称 %B 本地完整的月份名称 %c 本地相应的日期表示和时间表示 %j 年内的一天(001-366) %p 本地A.M.或P.M

SQL Server 中的时间的加减和时间的比较

最近在写一个项目时,用到了时间的比较和时间的加减,在这里简单说一下,我也是刚接触数据库不久,如有说的不当之处望大家包涵,指正 一.时间的比较 开始的时候我比较时间用的是 Time>GETDATE() 简单粗暴 其实SQL Server有自带的时间比较函数,所以可以用它自带的,还安全也很方便 DATEDIFF(); 我参照的W3School 中对于DATEDIFF函数的解析,具体如下: 语法 DATEDIFF(datepart,startdate,enddate) 其中datepart是只你要比较

用js进行日期的加减

用js进行日期的加减 引自:http://shanfengyeshui.iteye.com/blog/838033 如题,开始查了查js的使用文档,但没发现可以直接用的函数,于是就想自己写函数来着,这就要涉及到每个月天数的判断,如果是2月份的话,还要涉及到闰年的判断,虽然不复杂但我想js应该不会这么低级,于是查了下资料,终于有了如下重大发现,以在某个日期上加减天数来说,其实只要调用Date对象的setDate()函数就可以了,具体方法如下:      function addDate(date,

[码海拾贝 之Perl]获取日期以及日期的加减

前言 在Perl 中, 不安装其他模组的状况下, 可以使用 localtime 来获取当地日期和时间. 在标量上下文中, 返回的是字符串格式. my $localtime = localtime(); print "\n$localtime\n"; 返回: Thu Jan  1 18:17:56 2015 在列表上下文中, 返回的是描述当前时间的一个元素列表 my ($sec,$min,$hour,$mday,$mon,$year_off,$wday,$yday,$isdat) = l

javascript 日期月份加减

项目中需要用到,自己写了一个.javascript日期按月加减 <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta charset="utf-8"> <title></title> <script> function dateToDate(date) { var sDate = new Da

Oracle日期的加减运算

无论是DATE还是timestamp都可以进行加减操作.可以对当前日期加年.月.日.时.分.秒,操作不同的时间类型,有三种方法: 1 使用内置函数numtodsinterval增加小时,分钟和秒2 加一个简单的数来增加天3 使用内置函数add_months来增加年和月 例:对当前日期增加一个小时:SQL> select sysdate, sysdate+numtodsinterval(1,'hour') from dual ; SYSDATE             SYSDATE+NUMTOD