在shell中给当前的时间增加30秒的例子。
转载:https://blog.csdn.net/lllxy/article/details/3539678
脚本如下:
- #!/bin/sh
- #filename:time.sh
- #get the current time
- date
- dd=`date '+%Y-%m-%d %H:%M:%S'`
- echo $dd
- dd2=`date -d "$dd" '+%Y-%m-%d %H:%M:%S'`
- dd3=`date -d "$dd2" '+%s'`
- echo $dd3
- dd3=`expr $dd3 + 30`
- date -d "1970-01-01 UTC "$dd3" seconds" +"%Y-%m-%d %H:%M:%S"
执行这个脚本的结果为:
Wed Dec 17 14:28:57 CST 2008
2008-12-17 14:28:57
1229495337
2008-12-17 14:29:27
下面的文字转自:
http://www.sudu.cn/info/html/edu/linux/20070101/291200.html
#显示时区
[cnscn@root /home/cnscn/backup]# date +%Z
CST
#显示世纪
[cnscn@root /home/cnscn/backup]# date +%C
20
========================设置===============================
#设置时间为: 2005年02月22日 09:10:46
[cnscn@root /home/cnscn/backup]# date 022209102005.46 #月 日 时 分 年 . 秒
二 2月 22 09:10:46 CST 2005
#[cnscn@root /home/cnscn/backup]# date -s "+3 hours" #将时间增加3小时
二 2月 22 09:46:14 CST 2005
#[cnscn@root /home/cnscn/backup]# date -s "-40 minutes" #将时间减少40分钟
二 2月 22 09:06:35 CST 2005
#[cnscn@root /home/cnscn/backup]# date -s "+1 year" #时间增加1年
三 2月 22 09:14:55 CST 2006
#[cnscn@root /home/cnscn/backup]# date -s "-1 year" #时间减少一年
二 2月 22 09:15:02 CST 2005
======================按日期显示============================
[cnscn@root /home/cnscn/backup]# date -d "+1 year"
三 2月 22 09:57:46 CST 2006
[cnscn@root /home/cnscn/backup]# date -d "-1 month"
六 1月 22 09:49:08 CST 2005
[cnscn@root /home/cnscn/backup]# date -d "-1 month" +%s
1106358557
#[cnscn@root /home/cnscn/backup]# date -d "7 days ago" #显示7天前的时间
二 2月 15 09:16:09 CST 2005
#[cnscn@root /home/cnscn/backup]# date -d "7 days ago" +%s #显示7天前时间的秒值
1108430178
#[cnscn@root /home/cnscn/backup]# date -d "7 days" #显示7天后时间的秒值
二 3月 1 09:17:11 CST 2005
#[cnscn@root /home/cnscn/backup]# date -d "7 days" +%s #显示7天后时间的秒值
1109639824
=======================================================
#显示当前系统时间和日期
$date
#完整的日期时间显示
[cnscn@root /home/cnscn/backup]# date +%c
2005年02月22日 星期二 09时32分19秒
#以格林威治标准时间显示目前时间和日期
[cnscn@root /home/cnscn/backup]# date -u
二 2月 22 01:38:20 UTC 2005
#以当地习惯显示日期
[cnscn@root /home/cnscn/backup]# date +%x
2005年02月22日
#以mm/dd/yy格式显示系统日期
[cnscn@root /home/cnscn/backup]# date +%D
02/22/05
=========================================================
#英文全称月份
[cnscn@root /home/cnscn/backup]# date +%B
二月
#英文缩写月份
[cnscn@root /home/cnscn/backup]# date +%b
2月
============================================================
#今年第几天
[cnscn@root /home/cnscn/backup]# date +%j
053
============================================================
#时:分:秒
[cnscn@root /home/cnscn/backup]# date +%T09:24:07
#加上AM和PM
[cnscn@root /home/cnscn/backup]# date +%T%p
09:24:07上午
[cnscn@root /home/cnscn/backup]# date +%r
09:34:44 上午
=========================================================
#周几
[cnscn@root /home/cnscn/backup]# date +%w
2
#本地格式周几全称
[cnscn@root /home/cnscn/backup]# date +%A
星期二
#本地格式周几缩写
[cnscn@root /home/cnscn/backup]# date +%a
二
#今年第几周
[cnscn@root /home/cnscn/backup]# date +%U
08
1)把时间转成秒
$date -d "20061206 07:08" +%s
1165360080
2)把秒转换成时间
$ date
2006年 07月 06日 星期四 11:57:18 CST
$ date -d "now" +%s
1152158238
$ date -d "19700101 1152158238 seconds UTC"
2006年 07月 06日 星期四 11:57:18 CST
另外:
linux shell 再指定日期上增加或者减去一小时或者一分钟
在指定的日期上减去指定的天
[dc@dc010.tj.momo.com init_env]$ date -d "20150416 12 3 days" +"%Y%m%d%H"
2015041912
在指定的日期上加上指定的小时
[dc@dc010.tj.momo.com init_env]$ date -d "20150416 12 3 hour" +"%Y%m%d%H"
2015041615
在指定的日期上减去指定的小时
[dc@dc010.tj.momo.com init_env]$ date -d "20150416 12 -1 hour" +"%Y%m%d%H"
2015041611
在指定的日期上加上指定的分钟
[dc@dc010.tj.momo.com init_env]$ date -d "20150416 12:20 10 minute" +"%Y%m%d%H%M"
201504161230
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端