linux下 shell时间处理
一、hour
#获取当前时间年月日时分秒
current_create_time=`date +"%Y-%m-%d %H:%M:%S"`
echo $current_create_time
#获取当前时间向前一小时的时间(年月日时分秒)
timeFlag=`date -d "60 minute ago" +"%Y-%m-%d %H:%M:%S"`
#获取当前时间向前一小时的时间(年月日时)
timeFlag1=${timeFlag:0:13}
echo $timeFlag1
#获取当前时间向前10分钟(年月日时分秒)
timeend=`date -d "10 minute ago" +"%Y-%m-%d %H:%M:%S"`
echo $timeend
#获取当前时间向前1小时10分钟(年月日时分秒)
timestart=`date -d "70 minute ago" +"%Y-%m-%d %H:%M:%S"`
echo $timestart # query start time
query_start_time=`date +"%Y-%m-%d %H:%M:%S"`
#将时间转为时间戳
query_start_time_timestamp=`date -d "$query_start_time" +%s` # query end time
query_end_time=`date +"%Y-%m-%d %H:%M:%S"`
#将时间转为时间戳
query_end_time_timestamp=`date -d "$query_end_time" +%s` # query time-consuming
#时间差值计算
query_time_time_consuming=`expr $query_end_time_timestamp - $query_start_time_timestamp`
echo query_time_time_consuming:$query_time_time_consuming
二、day
#当前时间
current_create_time=`date +"%Y-%m-%d %H:%M:%S"`
#当前时间向前一天(年月日时分秒)
timeFlag=`date -d "1 day ago" +"%Y-%m-%d %H:%M:%S"`
#当前时间向前一天(年月日)
timeFlag1=${timeFlag:0:11}
#当前时间向前一天
timestart=`date -d "1 day ago" +"%Y-%m-%d %H:%M:%S"`
#将时间转为时间戳
timestart1=`date -d "$timestart" +%s`
#10分钟
time1=$((10*60))
time2=$(($timestart1-$time1))
#将计算好的时候格式化,得到当前时间前一天零10分钟的时间
timestart_new=`date -d @$time2 "+%Y-%m-%d %H:%M:%S"`
echo timestart_new:$timestart_new
三、work
#获取当前时间一周前的时间(年月日时分秒)
timeFlag=`date -d "-7 days" +"%Y-%m-%d %H:%M:%S"`
#获取当前时间一周前的实际(年月日)
echo $timeFlag
timeFlag1=${timeFlag:0:11}
#计算这个timeflag的日期是当前年的第几周
a=$(date +%W)
四、month
#获取当前时间的上一个月(精确到月)
timeFlag=`date -d "$(date +%Y-%m)-01 last month" +%Y-%m`
#获取当前时间的前10分钟
timeend=`date -d "10 minute ago" +"%Y-%m-%d %H:%M:%S"`
#获取当前时间的前一个月
timestart=`date -d "1 month ago" +"%Y-%m-%d %H:%M:%S"`
#获取当前时间的前一个月零10分钟(通过当前时间的前一个月再减去10分钟),先格式化为时间戳
timestart1=`date -d "$timestart" +%s`
#10分钟
time1=$((10*60))
time2=$(($timestart1-$time1))
#将计算好的时候格式化,得到当前时间前一个月零10分钟的时间
timestart_new=`date -d @$time2 "+%Y-%m-%d %H:%M:%S"`
echo timestart_new:$timestart_new
linux下 shell时间处理的更多相关文章
- Linux下长时间ping网络加时间戳并记录到文本
Linux下长时间ping网络加时间戳并记录到文本 由于一些原因,比如需要检查网络之间是否存在掉包等问题,会长时间去ping一个地址,由于会输出大量的信息而且最好要有时间戳,因此我们可以使用简单的 ...
- 06 Linux下Shell介绍
一.概述 每个人在成功登陆Linux后,系统会出现不同的提示符号,例如$,~,#等,然后你就可以开始输入需要的命令.若命令正确,系统就会依据命令的要求来执行,直到注销系统为止,在登陆到注销期间,输入的 ...
- .Neter玩转Linux系列之四:Linux下shell介绍以及TCP、IP基础
基础篇 .Neter玩转Linux系列之一:初识Linux .Neter玩转Linux系列之二:Linux下的文件目录及文件目录的权限 .Neter玩转Linux系列之三:Linux下的分区讲解 .N ...
- Linux 下shell 编程学习脚手架
linux body { font-family: Helvetica, arial, sans-serif; font-size: 14px; line-height: 1.6; padding-t ...
- linux 下shell 编写脚本
linux 下shell 编写脚本: 1.程序结构练习:编写一个脚本,给定一个正整数,计算出这个数所有位的数字之和. 例如:程序给定输入123,那么应该返回1+2+3=6. 2.程序结构练习:编写一个 ...
- Linux下Shell日期的格式,你知道几种?
Linux下Shell日期的格式,你知道几种? 不管是哪种语言,日期/时间都是一个非常重要的值.比如我们保存日志的时候,往往是某个前缀再加上当前时间,这样日志文件名称就可以做到唯一. 在Shell环境 ...
- Linux下精确控制时间的函数
Linux下精确控制时间的函数 在测试程序接口运行时间的时候,常用time,gettimeofday等函数,但是这些函数在程序执行的时候是耗费时间的,如果仅仅测试时间还行,但是如果程序中用到时间控制类 ...
- Linux下设置时间
Linux下设置时间 提供两种最根本有效的方式,就是更改时区.这里以更改为国内上海时间例子,其他地方时区同理. 方法一 备份文件 mv /etc/localtime /etc/localtime.ba ...
- Linux下系统时间函数、DST等相关问题总结(转)
Linux下系统时间函数.DST等相关问题总结 下面这个结构体存储了跟时区相关的位移量(offset)以及是否存在DST等信息,根据所在的时区信息,很容易找到系统时间与UTC时间之间的时区偏移,另外根 ...
随机推荐
- PyQt(Python+Qt)学习随笔:QListView的viewMode属性
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 QListView的viewMode属性用于控制QListView的视图模式,该属性类型为枚举类型Q ...
- day010|python之装饰器
装饰器02 目录 装饰器02 1 装饰器的语法糖 1.1 定义 1.2 基本使用 2 有参装饰器 2.1 基本用法 2.2 示例 3叠加多个装饰器 3.1 基本用法 3.2 示例 4 wraps装饰器 ...
- Scrum 冲刺 第二篇
Scrum 冲刺 第二篇 每日会议照片 昨天已完成工作 队员 昨日完成任务 黄梓浩 初步完成app项目架构搭建 黄清山 完成部分个人界面模块数据库的接口 邓富荣 完成部分后台首页模块数据库的接口 钟俊 ...
- ❤空植发队 影评网站FilmReviewWeb-团队介绍
空植发队 团队展示&选题 团队展示 团队信息 队名: 空植发队 队员: 罗泉水(队长)3118005101 麦狄龙 3118005103 马志鹏 3118005102 陈鸿畅 3118 ...
- 算法——移掉K位数字使得数值最小
给定一个以字符串表示的非负整数 num,移除这个数中的 k 位数字,使得剩下的数字最小. leetcode 解题思路:如果这个数的各个位是递增的,那么直接从最后面开始移除一定就是最最小的:如果这个数的 ...
- vue2实现路由懒加载
一.什么是懒加载 顾名思义,懒加载就是随用随加载,什么时候需要就什么时候加载. 二.为什么需要懒加载 在单页应用中,如果没有使用懒加载,webpack打包后的文件会很大,这时进入首页时的加载时间会很长 ...
- 傲视Kubernetes(三):Kubernetes中的Pod
从本文开始,将正式开始Kubernetes的核心内容学习.首先要了解的是Pod,总共大约分为六篇左右,本篇是第一篇,相信学完之后,我们会对Pod有一个整体的理解. 本文内容: 1.什么是Pod 2.P ...
- oracle 11g打补丁错误(Missing command :fuser)
在给oracle 11g数据库打补丁的时候出现以下错误: [oracle@node01 31537677]$ $ORACLE_HOME/OPatch/opatch apply Oracle Inter ...
- MySQL 5.7.29主从安装配置
一.环境准备(关闭防火墙) 1.清除已安装数据库 [root@mysql01 ~]# rpm -qa | grep mariadb mariadb-libs-5.5.35-3.el7.x86_64 [ ...
- DG修改SYS用户密码(ORA-16810,ORA-01017)
修改主库PROD1密码后,查看configuration状态看到以下报错: [oracle@edgzrip1-PROD1 ~]$ dgmgrl sys/oracleDGMGRL for Linux: ...