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
posted @   M4K0  阅读(242)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
点击右上角即可分享
微信分享提示