Python 日期时间datetime 加一天,减一天,加减一小时一分钟
当前日期时间
1
2
3
|
import datetime print datetime.datetime.now() # 2018-05-08 16:53:30.101000 |
格式化时间
1
2
3
|
import datetime print datetime.datetime.now().strftime( "%Y-%m-%d %H:%M" ) # 2018-05-08 16:54 |
多加一天
1
2
3
|
import datetime print (datetime.datetime.now() + datetime.timedelta(days = 1 )).strftime( "%Y-%m-%d %H:%M:%S" ) # 2018-05-09 16:56:07 |
减一天
1
2
3
|
import datetime print (datetime.datetime.now() + datetime.timedelta(days = - 1 )).strftime( "%Y-%m-%d %H:%M:%S" ) # 2018-05-07 16:56:59 |
可以把days改为hours minutes,就可以提前XX小时/分钟了。
时间差的计算:
1
2
3
4
5
6
7
8
9
10
11
|
import time import datetime start = datetime.datetime.now() time.sleep( 30 ) end = datetime.datetime.now() print (end - start).days # 0 天数 print (end - start).total_seconds() # 30.029522 精确秒数 print (end - start).seconds # 30 秒数 print (end - start).microseconds # 29522 毫秒数 |
补充拓展:Python中得到昨天、明天日期的另外一种方法
得到今天的日期可以用下面的代码:
import datetime
today = datetime.date.today()
得到昨天的日期可以用:
yesterday = today - datetime.timedelta(days=1)
得到明天的日期可以用:
tomorrow = today + datetime.timedelta(days=1)
这一点很多文章都提到过。
还有另外一种方法,看着感觉笨一点,那就是调用toordinal()和fromordinal(),它们分别是得到自公元元年1月1日起的天数和用此天数获得日期:
yesterday = datetime.date.fromordinal(today.toordinal() - 1)
tomorrow = datetime.date.fromordinal(today.toordinal() + 1)