今天看网上一个说中文日期的问题. 自己试了下.
1
2
3
4
5
6
7
8
9
10
|
import datetime, time
now = time.strftime( '%Y年%m月%d日 %H时%M分%S秒' , time.localtime())
print now
now = time.strptime(now, '%Y年%m月%d日 %H时%M分%S秒' )
print now
print time.strftime( '%Y-%m-%d %H:%M:%S' , now)
|
结果如下:
1
2
3
|
2015年01月21日 14时22分12秒
time .struct_time(tm_year=2015, tm_mon=1, tm_mday=21, tm_hour=14, tm_min=22, tm_sec=12, tm_wday=2, tm_yday=21, tm_isdst=-1)
2015-01-21 14:22:12
|
日期 到 字符串:
1
2
3
4
|
>>> time .strftime( '%Y-%m-%d %H:%M:%S' , time .localtime())
'2015-01-21 14:32:31'
>>> datetime.datetime.now().strftime( "%Y-%m-%d %H:%M:%S" )
'2015-01-21 14:33:38'
|
字符串 到 时间
1
2
3
4
|
>>> time .strptime( "2015-1-2 11:22:33" , '%Y-%m-%d %H:%M:%S' )
time .struct_time(tm_year=2015, tm_mon=1, tm_mday=2, tm_hour=11, tm_min=22, tm_sec=33, tm_wday=4, tm_yday=2, tm_isdst=-1)
>>> datetime.datetime.strptime( "2015-1-2 11:22:33" , '%Y-%m-%d %H:%M:%S' )
datetime.datetime(2015, 1, 2, 11, 22, 33)
|
unix时间戳 到 时间
1
2
3
4
|
>>> time .localtime(1234567890)
time .struct_time(tm_year=2009, tm_mon=2, tm_mday=14, tm_hour=7, tm_min=31, tm_sec=30, tm_wday=5, tm_yday=45, tm_isdst=0)
>>> datetime. date .fromtimestamp(1234567890)
datetime. date (2009, 2, 14)
|
时间 到 unix时间戳
1
2
3
4
5
6
|
>>> int( time . time ())
1421822833
>>> time .mktime(datetime. date (2015,1,21).timetuple())
1421769600.0
>>> time .mktime( time .strptime( "2015-1-21" , "%Y-%m-%d" ))
1421769600.0
|
日期加减. 日期要格式化为时间元组才可以加减.
1
2
3
4
5
6
7
|
>>> datetime.datetime.now()
datetime.datetime(2015, 1, 21, 14, 53, 43, 321906)
>>> (datetime.datetime.now() - datetime.timedelta(days=3)).day
18
>>> (datetime.datetime.now() - datetime.timedelta(weeks=1)).day
14
|
本文转自 nonono11 51CTO博客,原文链接:http://blog.51cto.com/abian/1606617,如需转载请自行联系原作者