linux shell 时间运算以及时间差计算方法

简介: linux shell 时间运算以及时间差计算方法

最近一段时间,在处理Shell 脚本时候,遇到时间的处理问题。时间的加减,以及时间差的计算。


1。时间加减


这里处理方法,是将基础的时间转变为时间戳,然后,需要增加或者改变时间,变成 秒。


如:1990-01-01 01:01:01 加上 1小时 20分


处理方法:


a.将基础时间转为时间戳


time1=$(date +%s -d'1990-01-01 01:01:01')

echo$time1


631126861 【时间戳】

 

b.将增加时间变成秒


[root localhost ~]# time2=$((1*60*60+20*60))

[root localhost ~]# echo $time2


4800


c.两个时间相加,计算出结果时间


time1=$(($time1+$time2))

time1=$(date +%Y-%m-%d\ %H:%M:%S -d"1970-01-01 UTC $time1 seconds");

echo$time1


1990-01-01 02:21:01

 

2。时间差计算方法


如:2010-01-01 与 2009-01-01 11:11:11 时间差


原理:同样转成时间戳,然后计算天,时,分,秒


time1=$(($(date +%s -d'2010-01-01') - $(date +%s -d'2009-01-01 11:11:11')));

echo time1


将time1 / 60 秒,就变成分了。


补充说明:


shell 单括号运算符号:


a=$(date);


等同于:a=date;


双括号运算符:


a=$((1+2));

echo $a;


等同于:


a=expr 1 + 2

目录
相关文章
|
4月前
|
存储 Unix Shell
确定Shell脚本在操作系统中的具体位置方法。
这对于掌握Linux的文件系统组织结构和路径方面的理解很有帮助,是我们日常工作和学习中都可能使用到的知识。以上讲解详细清晰,应用简便,是每一个想要精通操作系统的计算机爱好者必备的实用技能。
97 17
|
4月前
|
Linux Shell
Centos或Linux编写一键式Shell脚本删除用户、组指导手册
Centos或Linux编写一键式Shell脚本删除用户、组指导手册
113 4
|
4月前
|
Linux Shell 数据安全/隐私保护
Centos或Linux编写一键式Shell脚本创建用户、组、目录分配权限指导手册
Centos或Linux编写一键式Shell脚本创建用户、组、目录分配权限指导手册
250 3
|
5月前
|
Linux Shell
在Linux、CentOS7中设置shell脚本开机自启动服务
以上就是在CentOS 7中设置shell脚本开机自启动服务的全部步骤。希望这个指南能帮助你更好地管理你的Linux系统。
378 25
|
5月前
|
Linux Shell
shell_42:Linux参数移动
总的来说,参数移动是Linux shell脚本中的一个重要概念,掌握它可以帮助我们更好地处理和管理脚本中的参数。希望这个解释能帮助你理解和使用参数移动。
85 18
|
7月前
|
Shell Linux
【linux】Shell脚本中basename和dirname的详细用法教程
本文详细介绍了Linux Shell脚本中 `basename`和 `dirname`命令的用法,包括去除路径信息、去除后缀、批量处理文件名和路径等。同时,通过文件备份和日志文件分离的实践应用,展示了这两个命令在实际脚本中的应用场景。希望本文能帮助您更好地理解和应用 `basename`和 `dirname`命令,提高Shell脚本编写的效率和灵活性。
559 32
|
Unix Shell Linux
|
Shell Linux 程序员
在Linux中, 什么是shell函数?如何使用它们?
在Linux中, 什么是shell函数?如何使用它们?