Chinaunix首页 | 论坛 | 博客
  • 博客访问: 312804
  • 博文数量: 85
  • 博客积分: 1508
  • 博客等级: 上尉
  • 技术积分: 791
  • 用 户 组: 普通用户
  • 注册时间: 2012-08-06 11:49
文章分类

全部博文(85)

文章存档

2013年(22)

2012年(63)

我的朋友

分类: Python/Ruby

2012-11-01 13:51:35

最近要写个小脚本,需要拿到前一天的数据,这就需要获得前一天的日期。说实话,这要在shell下,还是很容易完成的,一个命令就搞定了。

对于python,需要用到的模块是—,不过呢,这个模块中,并没有直接提供获取前一天,或者前几天的方法,不过倒是提供了一个获取当前日期的的函数—today()。

如此一来,就只能从这个函数入手,要想获得前一天,其实可以考虑用当前日期减去一天就行。看如下代码

PYTHON
1 2 3 4 5 6 7 8 9 10 #! /bin/env python 
 
import
datetime  

today = datetime.date.today()
oneday = datetime.timedelta(days=1)
yesterday = today – oneday  

print(today)
print(yesterday)

代码解释:

第3行,导入datetime模块

第5行,获得当前日期赋值给变量today

第6行,通过timedelta函数定义需要差值的天数为1

第7行,通过当天日期和天数进行相减,获得前一天的日期

第9行,打印结果

2012-01-10 2012-01-09

还是很简单的。具体datetime模块的使用可以参考。

转载自 蚊子空间站


一下是我自己的使用实例:

在shell下获取昨天的日期,格式为yyyymmdd:

[root@stone ~]# date --date="1 day ago" +%Y%m%d
20121101


在python下获取昨天的日期,格式为yyyymmdd:

>>> import datetime
>>> (datetime.date.today()-datetime.timedelta(days=1)).strftime('%Y%m%d')
'20121101'

阅读(2441) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~