shell 中 date的用法

1. 获取离今天的上周  上月  下周 下月的日期

[html]  view plain  copy
  1. date -d "-1 week" "+%Y%m%d %A"  
  2. date -d "1 day" "+%Y%m%d %A"  
  3.   
  4. date -d "2 day" "+%Y%m%d %A"  
  5.   
  6.  date -d "-1 month" "+%Y%m%d %A"  
  7.   
  8.  date -d "1 month" "+%Y%m%d %A"  
2. date '+%Y-%m-%d %H:%M' -d '-10 minute' 

     之前的第10分钟

3. shell 中的date  常用方法

(2). date 基本用法

[html]  view plain  copy
  1. a=`date +"%Y-%m-%d %H:%M:%S"`  
  2.  echo $a  
  3. 2012-07-30 09:31:41  

4. 昨天的元月日表示:

[html]  view plain  copy
  1. #!/bin/bash  
  2.   
  3. SRC_ERR_LOG=/home/a/share/nginx/logs/error.log  
  4. SRC_ACC_LOG=/home/a/share/nginx/logs/proxy-reload.log  
  5. DST_LOG_ROOT="/home/a/share/nginx/logs/cronolog"  
  6.   
  7. YEAR_MON=$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")  
  8. YEAR_MON_DAY=$(date -d "yesterday" +"%Y-%m-%d")  
  9.   
  10. DST_ERR_LOG=${DST_LOG_ROOT}/${YEAR_MON}/${YEAR_MON_DAY}-error_log  
  11. DST_ACC_LOG=${DST_LOG_ROOT}/${YEAR_MON}/${YEAR_MON_DAY}-proxy-reload_log  
  12.   
  13. mkdir -p ${DST_LOG_ROOT}/${YEAR_MON}  
  14. chown ads ${DST_LOG_ROOT} -R  
  15.   
  16. mv ${SRC_ERR_LOG} ${DST_ERR_LOG}  
  17. mv ${SRC_ACC_LOG} ${DST_ACC_LOG}  
  18.   
  19. kill -USR1 `cat /home/a/share/nginx/logs/nginx-proxy.pid`  
  20.   
  21. gzip -c ${DST_ERR_LOG} > ${DST_ERR_LOG}.gz  
  22. rm ${DST_ERR_LOG}  
  23. gzip -c ${DST_ACC_LOG} > ${DST_ACC_LOG}.gz  
  24. rm ${DST_ACC_LOG}  
  25.   
  26. chown ads ${DST_ERR_LOG}.gz  
  27. chown ads ${DST_ACC_LOG}.gz  

5. 1分钟 1小时  1天 1周 1月  1年前的时间:

[html]  view plain  copy
  1. echo $(date -d "1 minute ago" +"%Y-%m-%d %H:%M:%S")   
  2. 2012-11-02 21:03:44  
  3.  echo $(date -d "1 hours ago" +"%Y-%m-%d %H:%M:%S")         
  4. 2012-11-02 20:05:16  
  5. echo $(date -d "1 days ago" +"%Y-%m-%d %H:%M:%S")       
  6. 2012-11-01 21:05:22  
  7. echo $(date -d "1 week ago" +"%Y-%m-%d %H:%M:%S")      
  8. 2012-10-26 21:05:27  
  9.  echo $(date -d "1 months ago" +"%Y-%m-%d %H:%M:%S")        
  10. 2012-10-02 21:05:39  
1分钟  1小时  1天  1周  1月 1年
[html]  view plain  copy
  1.  echo $(date -d "1 minute " +"%Y-%m-%d %H:%M")  
  2. 2012-11-02 21:09  
  3. echo $(date -d "1 hours " +"%Y-%m-%d %H:%M")           
  4. 2012-11-02 22:08  
  5. echo $(date -d "1 days " +"%Y-%m-%d %H:%M")       
  6. 2012-11-03 21:08  
  7.  echo $(date -d "1 month " +"%Y-%m-%d %H:%M")       
  8. 2012-12-02 21:08  
  9. echo $(date -d "1 year " +"%Y-%m-%d %H:%M")       
  10. 2013-11-02 21:08  
重用的简单格式:
[html]  view plain  copy
  1. echo $(date +%s)  
  2. 1351861770  
  3.  echo $(date +%F)  
  4. 2012-11-02  
  5.  echo $(date +%D)  
  6. 11/02/12  

6.  date 各种时间之间的转化:

[html]  view plain  copy
  1. date -d "@1354021141 " +"%Y-%m-%d %H:%M"  
  2. 2012-11-27 20:59  
  3.   
  4. date -d "2012-11-27 20:59:00" +%s  
[html]  view plain  copy
  1. 1354021140  

7. 毫秒转日期

date -d @1530353566 "+%Y-%m-%d %H:%M:%S"

8. 日期转毫秒

date -d "2018-06-30 09:00:00" +%s


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在shelldate命令用于显示或设置系统的日期和时间。它可以显示当前日期和时间,也可以根据指定的格式显示日期和时间。常用的选项包括: - +%Y:显示当前年份 - +%m:显示当前月份 - +%d:显示当前日期 - +%H:显示当前小时数 - +%M:显示当前分钟数 - +%S:显示当前秒数 例如,要显示当前日期和时间,可以使用以下命令: ``` date ``` 要以指定的格式显示日期和时间,可以使用以下命令: ``` date +"%Y-%m-%d %H:%M:%S" ``` 这将以“年-月-日 时:分:秒”的格式显示当前日期和时间。 ### 回答2: Shell是一种解释型的编程语言,它支持日期和时间操作。在所有的Shell脚本date命令用于查看和修改日期或时间,并可以根据需要格式化输出。 date命令的默认输出格式是"星期 月 日 时:分:秒时区 年"。可以通过在日期格式化字符串使用特殊字符来自定义输出格式。下面是一些常用的格式: - %Y:4位数年份 - %m:2位数月份 - %d:2位数日期 - %H:24小时制小时数 - %M:2位数分钟数 - %S:2位数秒数 - %w:星期数(0表示星期日,1表示星期一,以此类推) - %Z:时区 例如,要输出当前时间的年、月、日,可以使用以下命令: ``` $ date +%Y-%m-%d ``` 输出结果将类似于“2021-02-22”。 如果要将系统时间设定为指定的日期和时间,可以使用以下命令: ``` $ sudo date -s "2021-02-22 16:30:00" ``` 这将设置系统时间为2021年2月22日下午4:30。 如果要从系统时间减去或加上特定的时间量,可以使用以下格式: ``` $ date -d "-1 day" # 减去一天 $ date -d "+1 hour" # 加上一小时 ``` 还有一些其他的选项可以帮助您深入了解date命令的功能。例如,您可以使用“--version”选项查看date命令的版本信息,或使用“--help”选项查看date命令的帮助文档。 总之,date命令是Shell一个非常有用的工具,它允许您方便地查看和修改系统时间,以及灵活地自定义日期和时间的格式。 ### 回答3: 在Shelldate是一个常用的命令,用于显示或设置系统的日期和时间。它可以用于获取当前时间、计算时间差、格式化时间等操作。 使用date命令可以获得当前系统时间。只需在终端上输入date,系统将会返回当前时间的详细信息。例如: ```bash $ date Mon Mar 8 10:20:35 CST 2021 ``` 其,输出信息的具体含义为: - 星期几:Mon - 月份:Mar - 日期:8 - 时间:10:20:35 - 时区:CST - 年份:2021 date还可以以不同的格式在终端上显示当前时间。例如: ```bash $ date +%Y%m%d 20210308 $ date +%Y-%m-%d 2021-03-08 $ date +%H%M%S 102088 ``` 其,%Y、%m、%d、%H、%M、%S分别表示年份、月份、日期、小时、分钟、秒。 date命令可以设置系统的时间和日期。例如,将系统的时间设置为2020年1月1日的10点30分: ```bash $ sudo date -s "2020-01-01 10:30" ``` 常用选项: - -s,设置系统时间 - -u,显示协调世界时(UTC) - +%Y%m%d,以年月日的格式输出时间 - +%H%M%S,以小时分钟秒的格式输出时间 - -d,显示日期计算结果 总之,dateShell一个非常有用的命令,可以方便地获取当前时间、计算时间差、格式化时间等,是Shell编程必备的工具之一。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值