Shell时间运算及时间差计算方法
最近一段时间,在处理Shell 脚本时候,遇到时间的处理问题。 时间的加减,以及时间差的计算。
一、时间加减
这里处理方法,是将基础的时间转变为时间戳,然后,需要增加或者改变时间,变成 秒。
如: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
二、时间差计算方法
如: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`
相关推荐
-
Shell时间运算及时间差计算方法
最近一段时间,在处理Shell 脚本时候,遇到时间的处理问题. 时间的加减,以及时间差的计算. 一.时间加减 这里处理方法,是将基础的时间转变为时间戳,然后,需要增加或者改变时间,变成 秒. 如: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 ~]#
-
C++通过boost.date_time进行时间运算
标准C函数的时间运算是非常不好用的,boost提供了一个跨平台的日期库boost.date_time,通过它可以快速实现各种时间运算. boost.date_time中的时间对象为boost::posix_time::ptime,在<boost/date_time.hpp>中定义,它的常用操作如下. 获取现在时间: ptime now = second_clock::local_time(); cout << now << endl; 获取日期信息: cout <
-
PHP实现时间比较和时间差计算的方法示例
本文实例讲述了PHP实现时间比较和时间差计算的方法.分享给大家供大家参考,具体如下: 示例1: <?php //PHP时间比较和时间差计算: //(1).比较两个绝对时间的大小 header("Content-type: text/html; charset=utf-8"); date_default_timezone_set('PRC'); $zero1=date("Y-m-d h:i:s"); //$zero1="2010-11-29 21:07
-
Linux 判断文件修改时间和系统时间差
Linux 判断文件修改时间和系统时间差 #!/bin/bash timestamp=`date +%s` filepath=/root/yuhui/ta-2016030307.log if [ -f $filepath ]; then echo "文件存在!路径为:$filepath" filetimestamp=`stat -c %Y $filepath` echo "文件最后修改时间戳:$filetimestamp" timecha=$[$timestamp
-
非常全面的php日期时间运算汇总
实例讲解之前,先来介绍几个核心函数: mktime 函数 mktime() 函数返回一个日期的 Unix 时间戳. 参数总是表示 GMT 日期,因此 is_dst 对结果没有影响. 参数可以从右到左依次空着,空着的参数会被设为相应的当前 GMT 值. 语法:mktime(hour,minute,second,month,day,year,is_dst) 参数 描述 hour 可选.规定小时. minute 可选.规定分钟. second 可
-
Pandas数据分析固定时间点和时间差
目录 前言 时间属性 时间方法 时间缺失值 .dt 时间访问器 时长数据 时间差 时长属性 前言 pandas处理时间的对象有很多,分别表示不同的作用. 本次介绍固定时间对象和时间长对象. 还是先导入包: import numpy as np import pandas as pd import datetime 固定时间 时间点对象的建立 时间点就表示一个时刻的具体时间,比如现在是2022年8月10日16:31:56. 时间对象的建立有很多方法. #使用 python 的 datetime 库
-
Shell编程之变量数值计算方法示例
算术运算符 如果要执行算术运算符,就离不开各种运算符号,和其他编程语言类似,shell也有很多算术运算符.在任何一门形式的语言中均会存在算术运算的情况,Shell常见的运算符如下所示: 运算符 含义 + - * / % 加 减 乘 除 求余 ** 幂运算 ++ -- 自增 自减 && || ! 与(and) 或(or) 非(取反) < <= > >= == != 小于 小于等于 大于 大于等于 等于 不等于 << >> 左移位 右移位 ~ |
-
Shell时间(date)相关命令
date +%F date -d last-day +%Y-%m-%d date -d yesterday +%Y-%m-%d date -d next-day +%Y-%m-%d date -d tomorrow +%Y-%m-%d date -d '2 days ago' +%Y-%m-%d date -d '2 weeks ago' +%Y-%m-%d date -d '2 months ago' +%Y-%m-%d date -d '2 years ago' +%Y-%m-%d date
-
Python3显示当前时间、计算时间差及时间加减法示例代码
摘要 在使用Python写程序时,经常需要输出系统的当前时间以及计算两个时间之间的差值,或者将当前时间加减一定时间(天数.小时.分钟.秒)来得到新的时间,这篇文章就系统的对这些进行总结.码字不易,喜欢请点赞!!! 包 这里主要使用Python的datetime包实现上述功能. 1.输出当前系统时间 输出结果从总到右分别为Year.Month.Day.Hour.Minute.Second,最后一个MicroSeconds就不用管了. 2.标准化输出方法strftime() 其中: %Y : 表示年
-
MySQL5.7慢查询日志时间与系统时间差8小时原因详解
在对慢查询进行查看的时候发现时间不对,正好与系统时间相差8个小时. 1.慢查询显示时间如下 # Time: 2020-01-10T06:42:24.940811Z 2.系统时间 $ date Fri Jan 10 14:42:31 CST 2020 3.查看数据库参数 mysql> show variables like 'log_timestamps'; +----------------+-------+ | Variable_name | Value | +----------------
随机推荐
- Docker 端口映射详细介绍
- Android编程基础之Menu功能菜单设计实例
- JavaScript控制Session操作方法
- dubbo 管理控制台安装和使用详解
- java文件操作之Path,Paths,Files
- 原生js轮播(仿慕课网)
- 最新版网址替换正则表达式
- C#基础知识系列八const和readonly关键字详细介绍
- DBA应该知道的一些关于SQL Server跟踪标记的使用
- Shell脚本自动删除指定大小以上的备份文件
- 全面解读Python Web开发框架Django
- 站长注意了 太晚睡觉等于自杀 <年輕人,以后不要熬夜了>
- JavaScript中的object转换函数toString()与valueOf()介绍
- ASP.NET下向SQLServer2008导入文件实例操作方法
- JavaScript this 深入理解
- 从后台到webshell的一点思路
- .net4.0中tuple元组的使用方法
- RDP 协议组件 X.224 在协议流中发现一个错误并且中断了客户端连接的解决方法
- 详解Android权限管理之RxPermission解决Android 6.0 适配问题
- PHP获取昨天、今天及明天日期的方法