文档章节

Linux Bash Shell日期格式化和计算

沧海一刀
 沧海一刀
发布于 2017/08/27 14:05
字数 615
阅读 1371
收藏 0

一 ·日期格式化

首先是输出一下未经过格式化的日期,看看是什么格式,如下图:

8月27日 星期日 09时19分38秒 CST

然后我编写一个shell脚本,按照中国人阅读习惯,年-月-日+空格+时:分:秒输出:

#/bin/bash
#输出 年-月-日
echo `date +%Y-%m-%d`;
#输出 时:分:秒
echo `date +%H:%M:%S`
#输出 年-月-日 时:分:秒
echo `date +%Y-%m-%d%t%H:%M:%S`;

执行以上shell

得到结果:

2017-08-27
09:20:13
2017-08-27 09:20:13

特别提示! 上面年月日和时分秒之间的空格是用%t产生的!!!

上面是最常用的日期格式化字符串了,还有一些不常用的,我也列格表格

先说日期:

%a : 星期几 (Sun..Sat) 
%A : 星期几 (Sunday..Saturday) 
%b : 月份 (Jan..Dec) 
%B : 月份 (January..December) 
%c : 直接显示日期和时间 
%d : 日 (01..31) 
%D : 直接显示日期 (mm/dd/yy) 
%h : 同 %b 
%j : 一年中的第几天 (001..366) 
%m : 月份 (01..12) 
%U : 一年中的第几周 (00..53) (以 Sunday 为一周的第一天的情形) 
%w : 一周中的第几天 (0..6) 
%W : 一年中的第几周 (00..53) (以 Monday 为一周的第一天的情形) 
%x : 直接显示日期 (mm/dd/yy) 
%y : 年份的最后两位数字 (00.99) 
%Y : 完整年份 (0000..9999) 

再时间:

% : 印出冒号
% %n : 下一行 
%t : 跳格 
%H : 小时(00..23) 
%I : 小时(01..12) 
%k : 小时(0..23) 
%l : 小时(1..12) 
%M : 分钟(00..59) 
%p : 显示本地 AM 或 PM 
%r : 直接显示时间 (12 小时制,格式为 hh:mm:ss [AP]M) 
%s : 从 1970 年 1 月 1 日 00:00:00 UTC 到目前为止的秒数 %S : 秒(00..61) 
%T : 直接显示时间 (24 小时制) 
%X : 相当于 %H:%M:%S 
%Z : 显示时区 

二·日期的计算

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

© 著作权归作者所有

沧海一刀

沧海一刀

粉丝 10
博文 82
码字总数 51790
作品 0
黄浦
程序员
私信 提问
shell脚本学习(Chapter 1)

涉及到的东西: * 脚本如何执行与脚本基本书写方式 * echo、printf终端打印 * 变量的赋值操作:没有引号、单引号、双引号 * 变量的取值 * 两个环境变量:PATH、PS1 * 数学运算方法:let、(( ...

心中的理想乡
2017/09/17
17
0
Shell编程(shell脚本介绍、shell脚本结构和执行、date命令用法、shell脚本变量)

shell脚本介绍 Shell Script,Shell脚本与Windows/Dos下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的。但是它...

蛋黄_Yolks
2018/09/14
183
0
69:shell脚本介绍 | shell脚本结构 | 执行data命令用法 | shell脚本中变量

1、shell脚本介绍: shell是一种脚本语言和传统的开发语言相比,会比较简单: shell有自己语法,可以支持逻辑判断、循环等语法: 可以自定义函数,目的是减少重复的代码: shell是系统命令的集合...

芬野de博客
2018/09/21
59
0
shell脚本介绍&shell脚本结构和执行&date命令用法&shell脚本中的变量

20.1 shell脚本介绍 • shell是一种脚本语言 aming_linux blog.lishiming.net • 可以使用逻辑判断、循环等语法 • 可以自定义函数 • shell是系统命令的集合 • shell脚本可以实现自动化运维...

影夜Linux
2018/07/12
65
1
day06:shell脚本介绍 | shell脚本结构 | 执行data命令用法 | shell脚本中变量

1、shell脚本介绍: shell是一种脚本语言和传统的开发语言相比,会比较简单: shell有自己语法,可以支持逻辑判断、循环等语法: 可以自定义函数,目的是减少重复的代码: shell是系统命令的集合...

芬野de博客
2018/12/28
11
0

没有更多内容

加载失败,请刷新页面

加载更多

Mybatis Plus删除

/** @author beth @data 2019-10-17 00:30 */ @RunWith(SpringRunner.class) @SpringBootTest public class DeleteTest { @Autowired private UserInfoMapper userInfoMapper; /** 根据id删除......

一个yuanbeth
今天
4
0
总结

一、设计模式 简单工厂:一个简单而且比较杂的工厂,可以创建任何对象给你 复杂工厂:先创建一种基础类型的工厂接口,然后各自集成实现这个接口,但是每个工厂都是这个基础类的扩展分类,spr...

BobwithB
今天
5
0
java内存模型

前言 Java作为一种面向对象的,跨平台语言,其对象、内存等一直是比较难的知识点。而且很多概念的名称看起来又那么相似,很多人会傻傻分不清楚。比如本文我们要讨论的JVM内存结构、Java内存模...

ls_cherish
今天
4
0
友元函数强制转换

友元函数强制转换 p522

天王盖地虎626
昨天
5
0
js中实现页面跳转(返回前一页、后一页)

本文转载于:专业的前端网站➸js中实现页面跳转(返回前一页、后一页) 一:JS 重载页面,本地刷新,返回上一页 复制代码代码如下: <a href="javascript:history.go(-1)">返回上一页</a> <a h...

前端老手
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部