Python获取昨天日期&datetime&timedelta&strftime()用法——一蓑烟雨任平生

笔记

def getYesterday():
   # 获取昨天日期的字符串格式的函数
   #获取今天的日期
   today = datetime.date.today()
   #获取一天的日期格式数据
   oneday = datetime.timedelta(days=1)
   #昨天等于今天减去一天
   yesterday = today - oneday
   #获取昨天日期的格式化字符串
   yesterdaystr = yesterday.strftime('%Y-%m-%d')
   #返回昨天的字符串
   return yesterdaystr

datatime

1).获取当前的时间

import datetime
print datetime.datetime.now()

2017-02-06 21:17:32.329000

2).获取当前的日期

import datetime
print datetime.date.today()

2017-02-06

3).获得离圣诞节的时间差

chrismas_day_gap=datetime.datetime(2017,12,25,0,0,0) - datetime.datetime.now()
print chrismas_day_gap

321 days, 1:39:26.341000

timedelta

1).计算当天日期,前后的100天
我们先创建一个datetime.datetime的类,并在入参数里面填入当前的时间,比如2017,2,7,然后用这个datetime object就可以愉快的进行很多操作了

d3=datetime.datetime(2017,2,7)
print d3+datetime.timedelta(days=100)

2017-05-18 00:00:00

计算100天之前是哪天,一样也很简单

d3=datetime.datetime(2017,2,7)
print d3-datetime.timedelta(days=100)

2016-10-30 00:00:00

2).计算某两个日期差多少天

d4=datetime.datetime(2017,5,1)
d5=datetime.datetime(2017,12,25)
print d5-d4

238 days, 0:00:00

虽然很方便,但是timedelta有一个很大的缺点,不支持月份,天那怎么会这样,莫慌,用神补刀dateutil模块

dateutil

dateutil是一个非常强大的模块,可以处理复杂的日期问题,比如时区,模糊时间范围,计算时间日期,下面是就是处理按月份的.

import dateutil,datetime
d1=datetime.datetime(2017,12,7)
print d1+dateutil.relativedelta.relativedelta(months=3)

2018-03-07 00:00:00

print d1-dateutil.relativedelta.relativedelta(months=20)

2016-04-07 00:00:00python

中时间日期格式化符号:

%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)

转换函数:strftime()

1).把字符串转日期:

from datetime import datetime
cday = datetime.strptime('2017-2-6 18:19:59', '%Y-%m-%d %H:%M:%S')
print cday,type(cday)

2017-02-06 18:19:59,<type ‘datetime.datetime’>
转成了一个datetime的类了

2).把日期转字符串

from datetime import datetime
now = datetime.now()
print(now.strftime('%a, %b %d %H:%M'))

Tue, Feb 07 22:34

在这里插入图片描述

qq群:530472483

对Pyhon感兴趣的话可以添加下

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值