Chinaunix首页 | 论坛 | 博客
  • 博客访问: 315762
  • 博文数量: 240
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 50
  • 用 户 组: 普通用户
  • 注册时间: 2016-08-04 18:14
文章分类

全部博文(240)

文章存档

2017年(8)

2014年(4)

2013年(15)

2012年(4)

2011年(14)

2010年(55)

2009年(140)

我的朋友

分类: Python/Ruby

2010-06-26 16:32:13

1、获取时间:

>>> import time

>>> time.localtime(0)        # 本地时间原点
(1970, 1, 1, 8, 0, 0, 3, 1, 0)

>>> time.gmtime(0)         # 格林威治时间原点
(1970, 1, 1, 0, 0, 0, 3, 1, 0)

>>> time.localtime()        # 本地当前时间
(2011, 3, 20, 17, 26, 42, 6, 79, 0)
>>>
>>> time.gmtime()        # 格林威治当前时间
(2011, 3, 20, 9, 26, 42, 6, 79, 0)

>>> time.gmtime(3)        # 格林威治原点偏移 3 秒的时间
(1970, 1, 1, 0, 0, 3, 3, 1, 0)

 

说明:

gmtime()  是把日期和时间转换为格林威治(GMT)时间的函数,格林威治时间是世界标准时间.
localtime 表示本地时间,是把从1970-1-1零点零分到当前时间系统所偏移的秒数时间转换为日历时间.
localtime 和 gmtime 返回的类元组包括年, 月, 日, 时, 分, 秒, 星期, 一年的第几天, 日光标志. 年是一个四位数(在有千年虫问题的平台上另有规定), 星期从星期一(数字 0 代表)开始, 1月1日是一年的第一天. 注意中国当地时间和格林威治时间时差 8 个小时,格林位置时间 0 点是中国时间 8 点.

 

2、格式化时间:

>>> import time

>>> print time.strftime("%a %A %w %b %B -%c- %Y %y %d %H %I %p %Z %j %m %-m %M %U %x %X %%")
Sun Sunday 0 Mar March -Sun Mar 20 18:17:16 2011- 2011 11 20 18 06 PM CST 079 03 3 17 12 03/20/11 18:17:16 %

>>> time.strftime("%Y-%m-%d %H:%M:%S")            # 时间格式化(第一个参数为格式,第二个参数为时间,默认为当前时间)
'2011-03-20 17:07:04'

>>> time.strftime("%Y-%-m-%d %H:%M:%S")            # 03 月输出为 3月.
'2011-3-20 18:18:58'

>>> time.strftime("%Y-%m-%d %H:%M:%S",time.localtime())             # 时间格式化
'2011-03-20 17:30:55'

>>> time.strftime("%Y-%m-%d %H:%M:%S",(2011, 3, 20, 17, 7, 4, 6, 79, -1))     # 时间格式化
'2011-03-20 17:07:04'

>>> time.strptime('2011-03-20 17:07:04','%Y-%m-%d %H:%M:%S')             # 时间反向格式化
(2011, 3, 20, 17, 7, 4, 6, 79, -1)


3、时间偏移计算:

>>> time.time()                # 时间原的偏移时间
1300616588.300797

>>> time.mktime(time.localtime())    # 一个九元组的时间偏移
1300616588.0

>>> (time.time() - time.mktime(time.strptime('2011-03-20 17:07:04','%Y-%m-%d %H:%M:%S'))) / 60        # 判断该时间距离当前时间的时长
60.507132999102275


4、时间差计算:

  1. # 对两个时间取时间差(天)
  2. d1 = datetime.datetime(2005, 2, 16)
  3. d2 = datetime.datetime(2004, 12, 31)
  4. print (d1 - d2).days


  5. # 两次时间的时间差(秒)
  6. # 可以用来计算程序单元的运行时间
  7. starttime = datetime.datetime.now()
  8. endtime = datetime.datetime.now()
  9. print (endtime - starttime).seconds


  10. # 当前时间之前若干天,或者之后若干天的时间
  11. # 如果是小时 days 换成 hours
  12. d1 = datetime.datetime.now()
  13. d3 = d1 + datetime.timedelta(days =10)
  14. d4 = d1 - datetime.timedelta(days =5)
  15. d5 = d1 + datetime.timedelta(days =-5)

5、时间等待:

 

time.sleep(1)            # sleep 1s


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

zhaohang30312015-09-29 14:46:23

datetime.datetime.now() - datetime.timedelta(minutes=15)