一、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时间处理的更多相关文章

  1. Linux下长时间ping网络加时间戳并记录到文本

    Linux下长时间ping网络加时间戳并记录到文本   由于一些原因,比如需要检查网络之间是否存在掉包等问题,会长时间去ping一个地址,由于会输出大量的信息而且最好要有时间戳,因此我们可以使用简单的 ...

  2. 06 Linux下Shell介绍

    一.概述 每个人在成功登陆Linux后,系统会出现不同的提示符号,例如$,~,#等,然后你就可以开始输入需要的命令.若命令正确,系统就会依据命令的要求来执行,直到注销系统为止,在登陆到注销期间,输入的 ...

  3. .Neter玩转Linux系列之四:Linux下shell介绍以及TCP、IP基础

    基础篇 .Neter玩转Linux系列之一:初识Linux .Neter玩转Linux系列之二:Linux下的文件目录及文件目录的权限 .Neter玩转Linux系列之三:Linux下的分区讲解 .N ...

  4. Linux 下shell 编程学习脚手架

    linux body { font-family: Helvetica, arial, sans-serif; font-size: 14px; line-height: 1.6; padding-t ...

  5. linux 下shell 编写脚本

    linux 下shell 编写脚本: 1.程序结构练习:编写一个脚本,给定一个正整数,计算出这个数所有位的数字之和. 例如:程序给定输入123,那么应该返回1+2+3=6. 2.程序结构练习:编写一个 ...

  6. Linux下Shell日期的格式,你知道几种?

    Linux下Shell日期的格式,你知道几种? 不管是哪种语言,日期/时间都是一个非常重要的值.比如我们保存日志的时候,往往是某个前缀再加上当前时间,这样日志文件名称就可以做到唯一. 在Shell环境 ...

  7. Linux下精确控制时间的函数

    Linux下精确控制时间的函数 在测试程序接口运行时间的时候,常用time,gettimeofday等函数,但是这些函数在程序执行的时候是耗费时间的,如果仅仅测试时间还行,但是如果程序中用到时间控制类 ...

  8. Linux下设置时间

    Linux下设置时间 提供两种最根本有效的方式,就是更改时区.这里以更改为国内上海时间例子,其他地方时区同理. 方法一 备份文件 mv /etc/localtime /etc/localtime.ba ...

  9. Linux下系统时间函数、DST等相关问题总结(转)

    Linux下系统时间函数.DST等相关问题总结 下面这个结构体存储了跟时区相关的位移量(offset)以及是否存在DST等信息,根据所在的时区信息,很容易找到系统时间与UTC时间之间的时区偏移,另外根 ...

随机推荐

  1. PyQt(Python+Qt)学习随笔:QTabWidget选项卡部件移除选项卡的removeTab和clear方法

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 要从一个QTabWidget中去除选项卡,可用使用removeTab和clear方法. 1.移除选项 ...

  2. 关于RequestParam在不同的Spring版本上,接口在controller重载时注解可能失效的踩坑记录

    先抛背景: 我项目中的Spring版本是2.0.3.RELEASE. api-demo负责暴露接口,service-demo负责实现功能.接口参数的@RequestParam和@RequestBody ...

  3. Hbase 2.2.2 安装、配置(兼容 Hadoop 3.1.3)

    准备 Hbase 2.2.2 安装包 下载链接 链接:https://pan.baidu.com/s/1TqEry-T7sYpq4PdhgLWdcQ 提取码:de5z 安装 上传到虚拟机上,之后解压即 ...

  4. js原生方法map实现

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. 深入理解Java虚拟机(五)——JDK故障处理工具

    进程状况工具:jps jps(JVM Process Status Tool) 作用 用于虚拟机中正在运行的所有进程. 显示虚拟机执行的主类名称以及这些进程的本地虚拟机唯一ID. 可以通过RMI协议查 ...

  6. 关于Switch Case的优化

    switch case虽然是代替if else而出现的,并不好维护,有时候使用switch还不如使用if else. 但没有别的东西能代替switch case了吗?答案当然是否定的,现在就有两种方式 ...

  7. 基于menu小插件探索工程实践

    目录 一.准备工作 1.C/C++环境搭建 2.VSCode的配置 (1) 安装插件: (2) 设置配置文件: 二.工程化编程实战 1.模块化设计 2.可重用设计:进一步抽象 menu的进一步优化 可 ...

  8. HashMap 中 Key 类型的选择

    什么对象可以作为HashMap的key值? 从HashMap的语法上来讲,一切对象都可以作为Key值.如:Integer.Long.String.Object等.但是在实际工作中,最常用的使用Stri ...

  9. Java中字段赋值顺序的问题

    static字段 public class Client { public static int i = 2; static { i = 100; } public static void main( ...

  10. tomcat中配置jndi数据库源

    tomcat添加依赖 lib目录下添加依赖mysql-connector-java-8.0.16 配置数据源 介绍两种方法:tomcat中配置或web应用中配置 tomcat/conf/context ...