Bash脚本/命令在前/后5分钟打印出日期

 北京馨香海棠 发布于 2023-02-09 10:23

我需要以某种方式在bash或其他实用程序中使用date命令打印出给定值之前5分钟和之后5分钟的日期和时间.例如:

输入:

Thu Dec 19 14:10

输出:

Thu Dec 19 14:05 Thu Dec 19 14:10 Thu Dec 19 14:15

我看到该date命令可用于在当前日期/时间执行此操作,是否可以使用传递的值,即不是当前日期/时间?

2 个回答
  • 您可以通过键入来实现当前时间.

    $ date --date='5 minutes ago'; date; date --date='5 minutes'
    Qui Dez 19 16:09:17 BRST 2013
    Qui Dez 19 16:14:17 BRST 2013
    Qui Dez 19 16:19:17 BRST 2013
    

    使用特定日期(来自1978/01/10).

    $ date --date='1978-01-10 + 5 minutes'
    Ter Jan 10 00:05:00 BRT 1978
    

    2023-02-09 10:24 回答
  • 使用GNU date,您可以使用--date选项的参数执行一种简单的日期/时间算术形式:

    $ date --date 'now + 5 minutes'
    

    使用BSD date(至少是Mac OS X附带的版本),该-v选项允许您执行类似的操作,但仅限于当前时间:

    $ date -v +5M
    $ date -v -5M
    

    否则,您需要在将时间转换为UNIX时间戳(1970年1月1日以来的秒数)后显式执行数学运算:

    $ date -r $(( $(date +%s) + 300 ))   # 5 minutes (300 seconds) from now
    $ date -r $(( $(date +%s) - 300 ))   # 5 minutes ago
    

    2023-02-09 10:25 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有