博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux Bash Shell日期格式化和计算
阅读量:7012 次
发布时间:2019-06-28

本文共 1449 字,大约阅读时间需要 4 分钟。

hot3.png

一 ·日期格式化

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

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-2709:20:132017-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 ~]# time2=$((1*60*60+20*60))

[root ~]# 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

转载于:https://my.oschina.net/u/2338224/blog/1524505

你可能感兴趣的文章
Python3入门机器学习(七)- PCA
查看>>
2017阿里,百度,京东java面试+笔试大合集,这些面试题你都会吗?
查看>>
JavaScript数据结构03 - 队列
查看>>
笔记-OC运行时问题扩展
查看>>
PHPstorm 优化、设置与提速篇
查看>>
[iOS] 从 application delegate 引申三点
查看>>
深入理解Java虚拟机(一)
查看>>
Docker Nginx 静态资源部署
查看>>
DSA数字签名算法
查看>>
Mongodb Mac安装
查看>>
中间件事务码R3AC1里Block Size的含义
查看>>
实战Android 上推下拉——隐藏、显示ActionBar
查看>>
GDB 调试 Mysql 实战(二)GDB 调试打印
查看>>
Spring AOP(三) Advisor类架构
查看>>
LeetCode 316. Remove Duplicate Letters
查看>>
第十三课时:递归组件的使用
查看>>
【跃迁之路】【712天】程序员高效学习方法论探索系列(实验阶段469-2019.2.2)...
查看>>
SpiderData 2019年2月18日 DApp数据排行榜
查看>>
react-refetch的使用小例子
查看>>
周末游攻略 - 南昌之行
查看>>