python日期加减

2023-01-31 01:01:19 python 日期 加减
2011-10-20 14:24

python日期加减

Python 中日期類型是datetime.date

日期加减的结果,以及可以对日期相加減的類型是datetime.timedelta

timedelta = date1 - date2

date1  = date2 + timedelta


datetime.timedelta(days, seconds, microseconds)

d1 = datetime.date.today()

加一天:

d2 = d1 + datetime.timedelta(1)

減一天:

d2 = d1 + datetime.timedelta(-1)


Python Tip]如何计算时间差

Q:如何方便的计算两个时间的差,如两个时间相差几天,几小时等

A:使用datetime模块可以很方便的解决这个问题,举例如下:

>>> import datetime
>>> d1 = datetime.datetime(2005, 2, 16)
>>> d2 = datetime.datetime(2004, 12, 31)
>>> (d1 – d2).days
47

上例演示了计算两个日期相差天数的计算。

import datetime
starttime = datetime.datetime.now()
#long running
endtime = datetime.datetime.now()
print (endtime – starttime).seconds

上例演示了计算运行时间的例子,以秒进行显示。

>>> d1 = datetime.datetime.now()
>>> d3 = d1 + datetime.timedelta(hours=10)
>>> d3.ctime()

上例演示了计算当前时间向后10小时的时间。

其本上常用的类有:datetime和timedelta两个。它们之间可以相互加减。每个类都有一些方法和属性可以查看具体的值,如datetime可以查看:天数(day),小时数(hour),星期几(weekday())等;timedelta可以查看:天数(days),秒数(seconds)等。

8条评论

  1.  

    好文章!!收藏先

  2.  

    新手问题,请问怎样以毫秒显示时间差啊?

  3.  

    一个timedelta对象有days, seconds, microseconds(微秒)

    自已可以计算出来:

    d 为一个timedelta对象

    d.days * 24 * 60 * 60 * 1000 + d.seconds * 1000 + d.microseconds / 1000

    应该是这样吧。


相关文章