shell脚本中时间的编写规范20230902

news2025/3/9 22:55:38

背景:经常写shell,但是很多种时间格式规范真是记不住哈,😄,索性记录一下

一、 获取-年

下面的这两种写法都成

year=$(date "+%Y")
year=`date "+%Y"`

echo -e "测试输出 年: ${year}"

输出结果:
在这里插入图片描述

二、 获取-年月

获取年月的话就是 ( d a t e " + (date "+%Y-%m") 这种写法,根据你喜欢输出格式的不同,可以写成 (date"+(date “+%Y-%m”) 、 ( d a t e " + (date "+%Y%m") 、 (date"+(date “+%Y %m”) 都是可以的
还有一种写法就是单独获取月份:$(date “+%m”),将其中的年去掉就可以了

month=$(date "+%Y-%m")

echo -e "测试输出 年 月: ${month}"

输出结果
在这里插入图片描述

三、 获取-年月日

current_day=$(date "+%Y-%m-%d")

echo -e "测试输出 年 月日: ${current_day}"

输出结果
在这里插入图片描述

四、 获取-年月日带时分秒

current_time=$(date "+%Y-%m-%d %H:%M:%S")

echo -e "测试输出 年 月日 时 分 秒: ${current_time}"

输出结果
在这里插入图片描述

五、 获取-上一年

current_year=$(date +%Y)
previous_year=$(($current_year - 1))

echo -e "测试上一年: ${previous_year}"

输出结果
在这里插入图片描述

获取-下一年

六、 获取-上个月

简单写法是这个,直接一条命令就解决了,下面的两种写法都成

last_month=$(date "+%Y-%m" -d '1 month ago')
last_month=`date -d "last month" +%Y-%m`
echo -e "获取上个月: ${last_month}"

输出结果
在这里插入图片描述

七、 获取-下个月

next_month=`date -d "next month" +%Y-%m`

echo -e "测试下个月: ${next_month}"

输出结果
在这里插入图片描述

八、 获取-昨天

获取昨天的日期有下面的三种写法,有时间的可以多测试一下

yesterday=`date -d "last day" +%Y-%m-%d`
yesterday=`date -d "1 days ago" +%Y-%m-%d`
yesterday=`date -d yesterday +%Y-%m-%d`

echo -e "测试昨天: ${yesterday}"

输出结果
在这里插入图片描述

九、 获取-明天

下面的两种写法都成

tomorrow=`date -d next-day +%Y-%m-%d`
tomorrow=`date -d tomorrow +%Y-%m-%d`

echo -e "测试明天: ${tomorrow}"

输出结果
在这里插入图片描述

十、 获取-前一个小时

十一、 获取-后一个小时

十二、 获取结束时间和开始时间的差

start_time=$(date "+%Y-%m-%d %H:%M:%S")

echo -e "开始时间: ${start_time}"

sleep 10

end_time=$(date "+%Y-%m-%d %H:%M:%S")

echo -e "结束时间: ${end_time}"

cha_time=$(($(date +%s -d "${end_time}")-$(date +%s -d "${start_time}")));

echo -e "时间差:  ${cha_time}"

输出结果
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/965235.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

springboot web开发springmvc自动配置原理

前言 我们也知道springboot启用springmvc基本不用做什么配置可以很方便就使用了但是不了解原理,开发过程中遇到点问题估计就比较头疼,不管了解的深不深入,先巴拉一番再说… 下面我们先看看官网…我的版本是2.3.2版本,发现官网改动也比较大…不同版本自己巴拉下吧,结构虽然变化…

PMD代码检查:过长的变量名字(LongVariable)

https://docs.pmd-code.org/pmd-doc-6.55.0/pmd_rules_java_codestyle.html#longvariable 属性、正式变量、局部变量的名字如果太长,会使代码难理解。例如,下面的代码报违反项: 可以通过属性minimum配置报违反规则的最小长度(默…

qt.qpa.plugin:找不到Qt平台插件“wayland“|| (下载插件)Ubuntu上解决方案

相信大家也都知道这个地方应该做什么,当然是下载这个qt平台的插件wayland,但是很多人可能不知道怎么下载这个插件。 那么我现在要说的这个方法就是针对这种的。 sudo apt install qtwayland5完事儿了奥兄弟们。 看看效果 正常了奥。

总结ADX指标交易的好处

股神巴菲特从一个穷小子变成世界富豪,而闻名世界。anzo capital昂首资本以为这辈子再也不会和巴菲特产生任何交集,直到我看了巴菲特的发家史,才发现原来我们都使用过ADX指标盈利过,下面anzo capital昂首资本就总结一下使用ADX指…

如何大批量、低成本获取精准客户

身为一个企业或广告投放的决策人,当你在做每一次营销决策的时候,一定会回答一个问题:如何把产品卖给对的人? 目前经济形势下,消费活跃,但是获客却越来越难,在大数据弥漫的今天,我们仿…

leetcode 1365. 有多少小于当前数字的数字

2023.9.2 本题直观的解法就是双层for循环暴力求解&#xff1a; 暴力解&#xff1a; class Solution { public:vector<int> smallerNumbersThanCurrent(vector<int>& nums) {vector<int> ans;for(int i0; i<nums.size(); i){int temp 0;//比当前元素…

如何确认linux的包管理器是yum还是apt,确认之后安装其他程序的时候就需要注意安装命令

打开终端 输入apt&#xff0c;下图中提示未找到命令&#xff0c;则基本上包管理工具就是用yum的 输入yum&#xff0c;我们看到有打印信息&#xff0c;则说明包管理工具是yum的&#xff0c;离线安装命令使用rpm

kafka详解二

kafka详解二 1、 offset 1.1 offset介绍 老版本 Consumer 的位移管理是依托于 Apache ZooKeeper 的&#xff0c;它会自动或手动地将位移数据提交到 ZooKeeper 中保存。当 Consumer 重启后&#xff0c;它能自动从 ZooKeeper 中读取位移数据&#xff0c;从而在上次消费截止的地…

中国地方ZF数据开放指数(省域指数、城市指数)

“中国开放数林指数”是我国首个专注于评估政府数据开放水平的专业指数&#xff0c;由复旦大学数字与移动治理实验室制作出品。开放数据&#xff0c;蔚然成林&#xff0c; “开放数林”意喻我国政府数据开放利用的生态体系&#xff0c;一棵棵地方开放“数木”由最初的丛然并生、…

postgres源码解析54 Brin Index--1

Brin Index简介 brin index是Block range Index的缩写&#xff0c;顾名思义该索引是指块范围索引&#xff0c;该索引适合在超大表中进行过滤性扫描。基本的思路是追踪heap页域的最大值与最小值&#xff0c;用于过滤不符合条件的数据块。以下图为例&#xff0c;右边的堆表包含三…

ARM编程模型-寄存器组

Cortex A系列ARM处理器共有40个32位寄存器,其中33个为通用寄存器,7个为状态寄存器。usr模式和sys模式共用同一组寄存器。 通用寄存器包括R0~R15,可以分为3类: 未分组寄存器R0~R7分组寄存器R8~R14、R13(SP) 、R14(LR)程序计数器PC(R15)、R8_fiq-R12_fir为快中断独有 在不同模…

VITIS编译启动文件

source /home/wj/xilinx/PetaLinux/2021.1/tool/settings.sh source /home/wj/xilinx/Vitis/2021.1/settings64.sh source /home/wj/xilinx/Vivado/2021.1/settings64.sh 0 层 eng/home/wj/ETHERCAT_DW/meta-adi/meta-adi-core 1 层 /home/wj/ETHERCAT_DW/meta-adi/meta-ad…

【算法竞赛宝典】插入排序

【算法竞赛宝典】插入排序 题目描述伪代码代码展示代码讲解 题目描述 伪代码 代码展示 //插入排序数,请自己根据例程修改 #include <iostream>using namespace std;int main() {int a[11] {1, 4, 6, 9, 13, 16, 19, 28, 40, 100};int temp1, temp2, number, end, i, j…

go学习part20(3)反射细节

1.Set函数的细节 错误示范 正确示范:传指针再调用Elem() 2.反射的高级用法 1&#xff09;方法调用&#xff08;传参和返回值都是Value&#xff09; 方法顺序i是按照方法名字的顺序来计算&#xff0c;比较ascii码 2)结构体字段数 3)value.Field&#xff08;i&#xff09;获取…

MPI之虚拟进程拓扑

什么是虚拟进程拓扑 在很多并行应用进程中&#xff0c;进程的线性排列不能充分的反映进程间在逻辑上的通信模型&#xff0c;通常由问题几何和所用的算法决定&#xff0c;进程经常被排列成二维或者三维网络形式的拓扑模型而通常用一个图来描述逻辑进程排列&#xff0c;此种逻辑…

百度搜索清理大量低质量网站

我是卢松松&#xff0c;点点上面的头像&#xff0c;欢迎关注我哦&#xff01; 据部分站长爆料&#xff1a;百度大规模删低质量网站的百度资源站长平台权限&#xff0c;很多网站都被删除了百度站长资源平台后台权限&#xff0c;以前在百度后台添加的网站大量被删除&#xff01;…

在Mac上安装及使用 dubbo-go

目录 dubbo-go 是什么dubbo-go 快速入门环境安装&#xff08;Mac 系统&#xff09;安装 Go语言环境安装 序列化工具protoc安装 dubbogo-cli 以及相关插件解决报错&#xff1a;zsh: command not found: protoc-gen-go&#xff0c;而其他两个工具都能正常输出版本号信息。 完成依…

[贪心] 拼接最小数

这道题思路并不难&#xff0c;我主要想学习其一些对于字符串的处理。 代码如下&#xff1a; #include <iostream> #include <string> #include <algorithm> using namespace std;const int MAXN 10000; string nums[MAXN];bool cmp(string a, string b) {…

Java当中的object介绍以及相关方法介绍

文章目录 前言 1. object介绍 1.1 简单介绍 1.2 object的相关方法 2. object相关方法的介绍 2.0 JAVA同步锁 synchronized(this)、synchronized(class)与synchronized(Object)的区别 2.1 Object之wait 2.1.1 另外两种wait方法 2.1.2 Object中notify&#xff0c;notify…

STM32f103入门(8)TIM输入捕获输入捕获测频率PWMI测占空比

TIM输入捕获 频率测量输入捕获基本结构PWMI基本结构主从触发模式输入捕获测量频率PWMI测占空比 频率测量 输入捕获基本结构 CNT计数一个周期&#xff0c;转运到CCR1里面去&#xff0c;CNT0 这时候CCR1N FxFc/N Fc cnt的驱动时钟 这时候就可以得到频率 Fc72M/PSC PWMI基本结构 …