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 *10

nine_years = ten_years - year

同时,date、time和datetime类也支持与timedelta的加、减运算。

datetime1 = datetime2 +/- timedelta

timedelta = 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 - d2

print 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

copycode.gif

#coding=utf-8

import datetime

now=datetime.datetime.now()

print now

#将日期转化为字符串 datetime => string

print 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 - d2

print delta.days

print delta

#今天的n天后的日期。

now=datetime.datetime.now()

delta=datetime.timedelta(days=3)

n_days=now+delta

print n_days.strftime('%Y-%m-%d %H:%M:%S')

copycode.gif

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python 中,我们可以使用 `datetime` 模块来进行时间类型的操作。 首先,我们需要导入 `datetime` 模块: ```python import datetime ``` 然后,我们可以使用 `datetime.datetime` 类来表示一个具体的日期时间。例如,下面的代码创建了一个表示当前日期时间的 `datetime` 对象: ```python now = datetime.datetime.now() print(now) # 输出当前日期时间 ``` 我们也可以使用 `datetime.datetime` 类来表示一个指定的日期时间。例如,下面的代码创建了一个表示 2022 年 1 月 1 日 0 点 0 分的 `datetime` 对象: ```python date = datetime.datetime(2022, 1, 1, 0, 0) print(date) # 输出指定的日期时间 ``` 要进行时间类型的操作,我们可以使用 `timedelta` 对象。例如,下面的代码创建了一个表示 3 天的 `timedelta` 对象: ```python delta = datetime.timedelta(days=3) ``` 我们可以将这个 `timedelta` 对象到一个 `datetime` 对象上,得到一个新的 `datetime` 对象。例如,下面的代码将当前日期上 3 天: ```python new_date = now + delta print(new_date) # 输出新的日期时间 ``` 同样地,我们也可以将 `timedelta` 对象从一个 `datetime` 对象中去,得到一个新的 `datetime` 对象。例如,下面的代码将当前日期去 3 天: ```python new_date = now - delta print(new_date) # 输出新的日期时间 ``` 另外,还可以使用 `datetime.datetime` 对象的 `replace` 方法来修改日期时间中的某个部分。例如,下面的代码将当前日期的小时数修改为 12: ```python new_date = now.replace(hour=12) print(new_date) # 输出新的日期时间 ``` 需要注意的是,由于 `datetime` 对象是不可变的,因此所有的操作都会返回一个新的 `datetime` 对象,而不会修改原来的对象。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值