Shell脚本获取格式化日期与时间总结
来源:互联网 发布:macbook air装windows 编辑:程序博客网 时间:2024/05/18 03:01
Shell脚本获取格式化日期与时间总结,Linux的bash脚本对时间格式的支持超出了我的预想,支持多种格式的变化与输出。甚至比java的api还要方便,总结如下:
1、常用的取日期方法:
#!/bin/sh# upload logs to hdfssource /etc/profile#获取昨天日期 yyyyMMdd 格式yesterday=`date --date='1 days ago' +%Y%m%d`#获取昨天日期 yyyy-MM-dd 格式yesterday2=`date --date='1 days ago' +%Y-%m-%d`#获取今天日期 yyyyMMdd 格式today=`date --date='0 days ago' +%Y%m%d`#获取今天日期 yyyy-MM-dd 格式today2=`date --date='0 days ago' +%Y-%m-%d`#获取明天日期 yyyyMMdd 格式today=`date --date='1 days' +%Y%m%d`#获取明天日期 yyyy-MM-dd 格式today2=`date --date='1 days' +%Y-%m-%d`#获取当前时间 yyyy-MM-dd HH:mm:ss 格式nowtime=`date --date='0 days ago' "+%Y-%m-%d %H:%M:%S"`#获取当前日间 HH:mm:ss 格式nowtime2=`date --date='0 days ago' +%H:%M:%S`#获取1小时前时间 yyyy-MM-dd HH:mm:ss 格式onehourage=`date --date='1 hours ago' "+%Y-%m-%d %H:%M:%S"`#获取1小时后时间 yyyy-MM-dd HH:mm:ss 格式onehourage2=`date --date='1 hours' "+%Y-%m-%d %H:%M:%S"`#获取2小时前时间 yyyy-MM-dd HH:mm:ss 格式twohourage=`date --date='2 hours ago' "+%Y-%m-%d %H:%M:%S"`#获取2小时后时间 yyyy-MM-dd HH:mm:ss 格式twohourage2=`date --date='2 hours' "+%Y-%m-%d %H:%M:%S"`#获取1个月前时间 yyyy-MM-dd HH:mm:ss 格式date --date='1 month ago' "+%Y-%m-%d %H:%M:%S"#获取1个月加1天前时间 yyyy-MM-dd HH:mm:ss 格式date --date='1 month ago + 1 day ago' "+%Y-%m-%d %H:%M:%S"#获取1个月减1天前时间 yyyy-MM-dd HH:mm:ss 格式date --date='1 month ago - 1 day ago' "+%Y-%m-%d %H:%M:%S"#获取1个月加1天加1小时加1分钟加1秒钟前时间 yyyy-MM-dd HH:mm:ss 格式date --date='1 month ago + 1 day ago + 1 hour ago + 1 min ago + 1 sec ago' "+%Y-%m-%d %H:%M:%S"#获取1个月加1天减1小时减1分钟减1秒钟前时间 yyyy-MM-dd HH:mm:ss 格式 可以 + - 滥用date --date='1 month ago + 1 day ago - 1 hour ago - 1 min ago - 1 sec ago' "+%Y-%m-%d %H:%M:%S"#获取1个月加1天加1小时加1分钟加1秒钟后时间 yyyy-MM-dd HH:mm:ss 格式date --date='1 month + 1 day + 1 hour + 1 min + 1 sec ' "+%Y-%m-%d %H:%M:%S"#获取1个月加1天减1小时减1分钟减1秒钟后时间 yyyy-MM-dd HH:mm:ss 格式date --date='1 month + 1 day - 1 hour - 1 min - 1 sec ' "+%Y-%m-%d %H:%M:%S"#获取1年后1个月加1天减1小时减1分钟减1秒钟后时间 yyyy-MM-dd HH:mm:ss 格式date --date='1 year 1 month + 1 day - 1 hour - 1 min - 1 sec ' "+%Y-%m-%d %H:%M:%S"#获取1年前1个月加1天减1小时减1分钟减1秒钟后时间 yyyy-MM-dd HH:mm:ss 格式date --date='1 year 1 month + 1 day - 1 hour - 1 min - 1 sec ' "+%Y-%m-%d %H:%M:%S"
2、取月周季度的首尾
#月初: m= `date --date='1 month' "+%Y-%m"`-01#月末: date --date="1 day ago $m" "+%Y-%m-%d"#一周前 : date --date="1 week ago " "+%Y-%m-%d"#星期: date --date="0 days ago" "+%Y-%m-%d %u"#季头: date -d "`awk -F- '$2%3==1{print $1FS$2FS"01";next}$2%3==2{print $1FS$2-1FS"01";next}{print $1FS$2-2FS"01"}' <<<2014-1-07`" +%F#季尾: date -d "`awk -F- '$2%3==1{print $1FS$2+3FS"01";next}$2%3==2{print $1FS$2+2FS"01";next}{print $1FS$2+1FS"01"}' <<<2014-1-07` -1 day" +%F
3、循环取日期
#! /bin/shtoday=$2enddate=$1while [[ $today -ge $enddate ]]do echo ${today}today2=`date -d "0 day $today" +%Y-%m-%d`echo ${today2}### to do thistoday=`date -d "-1 day $today" +%Y%m%d`done调用方式:
bash testFor.sh 20150507 20160225
2 0
- Shell脚本获取格式化日期与时间总结
- Shell脚本获取格式化日期与时间总结
- Linux下date命令格式化时间格式shell脚本获取指定格式日期
- PHP入门教程之日期与时间操作技巧总结(格式化,验证,获取,转换,计算等)
- Oracle中获取系统时间与格式化日期
- shell脚本打印日期时间
- 获取日期+时间总结
- 获取日期+时间总结
- 获取日期与时间
- 时间与日期获取
- js获取当前时间以及日期格式化
- Linux C 获取格式化的日期时间
- android 获取日期/时间格式化及注意
- js根据时间戳获取格式化日期
- Linux C 获取格式化的日期时间
- Smarty 获取当前日期时间和格式化日期时间
- Smarty 获取当前日期时间和格式化日期时间
- 获取当前日期时间、日期时间格式化及转换
- 94.Examine the structure of the PROGRAMS table:
- js动态提示输入框剩余字符数
- 结构型:设计模式之适配器模式(六)
- 【HTML第二本】HTML.5与CSS.3权威指南 HTML5部分读书笔记
- 寒江独钓前辈的第一个例子的部分分析
- Shell脚本获取格式化日期与时间总结
- leetcode:88 Merge Sorted Array-每日编程第三十一题
- 浅析TCP RST
- Hibernate映射类型
- Android使用动画的注意事项
- C#Asp.Net中mongo数据库的基本使用
- 使用Zxing生成带logo的二维码
- poj 2236 Wireless Network 并查集
- LeetCode 17 - Letter Combinations of a Phone Number