两个python时间处理函数,人性化的时间

作者:半瓶墨水   链接:http://www.2maomao.com/blog/python-time-coding/

代码作用:时间解析和人性化的时间输出(效果参见:http://www.fayaa.com/code/home/

下载: mytime.py
from datetime import datetime
import time
 
#解析日期时间 2008-01-27 08:37:29
def getdatetime(s):
  
return datetime(*time.strptime(s[:19], '%Y-%m-%d %H:%M:%S')[:6])
 
#人性化的时间:2008-01-27 08:37:29
def friendly_time(ts):
  
delta = datetime.now() - ts
  
if delta.days >= 365:
      
return '%d 年前' % (delta.days / 365)
  
elif delta.days >= 30:
      
return '%d 个月前' % (delta.days / 30)
  
elif delta.days > 0:
      
return '%d 天前' % delta.days
  
elif delta.seconds < 60:
      
return "%d 秒前!" % delta.seconds
  
elif delta.seconds < 60 * 60:
      
return "%d 分钟前" % (delta.seconds / 60)
  
else:
      
return "%d 小时前" % (delta.seconds / 60 / 60)

感谢来自Python-cn小组的帮助

又:终于摸清了Python参数传递中*和**的应用,举例如下。
声明中虚拟参数的*和**

>>> def test_param2(a, *b):
...     
print a, b
...
>>>
test_param2(1, 2, 3, 4, 5, 6)
1 (2, 3, 4, 5, 6)
 
>>>
def test_param3(a, **c):
...     
print a, c
...
>>>
test_param3(1, aa=3, bb=5)
1 {'aa': 3, 'bb': 5}

实际参数传递中的*和**

>>> def test_param1(a, b):
...     
print a, b
...
>>>
test_param1(1, 2)
1 2
>>>
a = (3, 4)
>>>
test_param1(*a)
3 4
>>>
m = {"a":"aaaa", "b":"bbbb"}
>>>
test_param1(*m)
a b
>>>
test_param1(**m)
aaaa bbbb

留下回复