shell、python时间函数小结

有时需要写一些定时任务脚本,简单总结一下,备忘。

1. 获取当前时间

  • python
    在windows下精确到0.001秒,linux下时间精度为0.000001秒
>>> import datetime
>>> datetime.datetime.now()
datetime.datetime(2018, 5, 23, 17, 16, 33, 61000)
>>> print datetime.datetime.now()
2018-05-23 17:16:57.688000
  • shell
date
Wed May 23 15:53:45 CST 2018

2. 时间格式化

  • python
>>> import datetime
>>> datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
'2018-05-23 15:50:07'
  • shell
date -I
2018-05-23
root@hammerhead:/ # date "+%Y-%m-%d %H:%M:%S"
2018-05-23 15:51:29

3. 时间加减法

  • python
>>> t0 = datetime.datetime.now()
>>> t1 = t0 + datetime.timedelta(seconds=600)
>>> print t0
2018-05-23 16:12:33.184000
>>> print t1
2018-05-23 16:22:33.184000
>>> t2 =  t0 - datetime.timedelta(days=2)
>>> print t2
2018-05-21 16:12:33.184000
  • shell
    获取上一个周一的日期,是距离最近的那个周一,不一定是上周一。
    比如今天周三,那么上一个周一就是前天。
    另外要注意,安卓系统上的busybox指令为阉割版,高级的参数不一定支持。
date -d "last-monday" -I
2018-05-21
#同理,可以输入:
date -d "next-monday" -I
2018-05-28
#昨天
date -d "yesterday" -I
2018-05-22

猜你喜欢

转载自www.cnblogs.com/M4K0/p/11432863.html
今日推荐