shell date命令
date命令的语法结构:
date [-d][时间运算] [+FORMAT]
先说简单的,[+FORMAT] 部分,主要有如下输出格式:
时间方面:
%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 : 显示时区
日期方面 :
%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)
常用格式:
date #显示当前本地时间
2019年 01月 04日 星期五 15:54:38 CST
date -u #显示当前格林威治时间
2019年 01月 04日 星期五 08:05:29 UTC
date +'%Y-%m-%d'
2019-01-04
date +'%Y-%m-%d %T'
2019-01-04 16:06:40
date +'%F'
2019-01-04
date +'%y%m%d %H:%M:%S'
190104 16:08:17
date +'%w' #显示周几
5
date +'%W' #显示第几周
00
date +'%s' #显示时间戳
1546589343
时间运算部分:
date -d '-1 day'
date -d '-1 month'
date -d '-1 years'
date -d '-1 week'
date -d '-1 hour'
date -d '-1 minute'
date -d '-1 second'
使用date命令,对指定日期时间进行加减:
date -d '2018-12-25 +2 day' '+%F'
--
date -d '2018-12-25 +2 week' '+%F'
--
date -d '20181225 +2 week' '+%F'
--
date -d '181225 +2 week' '+%F'
--
虽然日期选择的格式不同,但是系统会自动识别。但是,对小时、分、秒进行加减,时间部分只能使用一种格式。
date -d '181225 10 +2hour' '+%F %T' -- :: date -d '20181225 10 +2hour' '+%F %T' -- :: date -d '2018-12-25 10 +2hour' '+%F %T' -- :: date -d '2018-12-25 10:25 +2hour' '+%F %T' -- :: #使用 小时:分:秒 的格式,计算出来的时间错误! date -d '2018-12-25 1025 +2hour' '+%F %T' -- :: date -d '2018-12-25 102530 +2hour' '+%F %T' date: 无效的日期"2018-12-25 102530 +2hour" #时间部分,只能到分钟,具体原因尚不清楚! date -d '2018-12-25 102530 +2 minute' '+%F %T' date: 无效的日期"2018-12-25 102530 +2 minute" #时间部分,只能到分钟,具体原因尚不清楚! date -d '2018-12-25 1025 +2 minute' '+%F %T' -- ::
变量引用:
在shell语法里,我们使用date命令可以表示任何我们需要的时间,那么,如何引用用date命令赋值的一个变量呢。
假设,变量d1=$(date -d '2018-12-25 1025 +2 minute' '+%F %T')
对变量d1的引用,不是直接写d1,而是${d1}
cww@cww-XPS--:~$ d1=$(date -d '2018-12-25 1025 +2 minute' '+%F %T')
cww@cww-XPS--:~$ echo d1
d1
cww@cww-XPS--:~$ echo ${d1}
-- ::
shell date命令的更多相关文章
- shell date 命令说明
shell date 命令说明 使用方法:date [选项]... [+格式] 或:date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] 以给定的格式 ...
- shell date 命令整理
最近发现date命令特别好用(在mac里面不行) 1.获取今天的日期 [root@nd02 ~]# date +%Y%m%d 2.获取某一天的日期 [root@nd02 ~]# date -d &qu ...
- Shell date 命令详解
格式: date [选项] ... [+格式] 选项说明: -d ,--date=字符串 显示指定字符串所描述的时间 格式说明: 例子1: #!/bin/bash ##. 获取当前系统时间 YYYY- ...
- javascript 的Date 格式化, 模仿shell中date命令的格式
原文:javascript 的Date 格式化, 模仿shell中date命令的格式 shell 中显示当前的日期 [root@localhost]$ date '+%Y-%m-%d %H:%M:%S ...
- shell的date命令:使用方法,以及小时、分钟的计算
shell命令格式严格,不像python那样命令行中可以添加空格.如等号两边无空格.有多余空格错误,日期date命令就是最明显的例子. 命令格式: date [-u] [-d datestr] [-s ...
- Shell脚本、Shell脚本结构、date命令的用法、变量
1.Shell脚本: shell是一种脚本语言 目的:可以实现自动化运维,能大大增加运维的效率.2.Shell脚本结构: #!/bin/bash 以#!/bin/bash开头,即以/bin/ba ...
- centos shell脚本编程1 正则 shell脚本结构 read命令 date命令的用法 shell中的逻辑判断 if 判断文件、目录属性 shell数组简单用法 $( ) 和${ } 和$(( )) 与 sh -n sh -x sh -v 第三十五节课
centos shell脚本编程1 正则 shell脚本结构 read命令 date命令的用法 shell中的逻辑判断 if 判断文件.目录属性 shell数组简单用法 $( ) 和$ ...
- shell脚本介绍、shell脚本结构和执行、date命令用法、shell脚本中的变量
7月11日任务 20.1 shell脚本介绍20.2 shell脚本结构和执行20.3 date命令用法20.4 shell脚本中的变量 20.1 shell脚本介绍 1.shell脚本语言是linu ...
- Linux centosVMware shell脚本介绍、shell脚本结构和执行、date命令用法、shell脚本中的变量
一. shell脚本介绍 shell是一种脚本语言 aming_linux blog.lishiming.net 可以使用逻辑判断.循环等语法 可以自定义函数 shell是系统命令的集合 shell脚 ...
随机推荐
- Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'userinfo.
安装了mysql5.7,用group by 查询时抛出如下异常: Expression # of SELECT list is not in GROUP BY clause and contains ...
- Pubmed/PMC/Meline的异同点【转载】
转自:http://paper.dxy.cn/article/495034 一.PubMed.PMC 和 MEDLINE 到底有什么区别和联系? 可以看出,PubMed的收录范围是最广的:三个都是生物 ...
- C++实验三
part2 graph.h #ifndef GRAPH_H#define GRAPH_H// 类Graph的声明 class Graph { public: Graph(char ch, int n) ...
- 深入理解虚拟机之Java内存区域
1 概述 对于Java程序员来说,在虚拟机自动内存管理机制下,不再需要像C/C++程序开发程序员这样为内一个new 操作去写对应的delete/free操作,不容易出现内存泄漏和内存溢出问题.正是因为 ...
- IDEA 破解_补丁永久_2018.3
主要是Eclipse我已经玩坏了三次了,切换jdk8到jdk10,再切换到jdk8,大量文件乱码,怎么改都没用,有的时候Eclipse久了不用,项目放在里面发霉了,坏掉了,MMP,换到I ...
- CentOS 7 安装samba服务
STEP 1. 安装 #安装 [root@study ~]yum install smaba [root@study ~]systemctl start smb nmb STEP 2. 建立共享目录以 ...
- 理解linux网络管理命令
linux 管理命令,iproute 查看帮助文件: man ip 以下为常用帮助文件. SEE ALSO ip-address(), ip-addrlabel(), ip-l2tp(), ip-li ...
- dataguard日志自动删除
dataguard日志自动删除 1.判断日志是否已经应用到今天.2.删除3天前的日志.3.主机.备机分别配置 ----check_del_arch.sh#!/bin/shORACLE_HOME=/ho ...
- Unity 让物体朝摄像机观察方向移动,已摇杆方向转向
using System.Collections;using System.Collections.Generic;using UnityEngine; [RequireComponent(typeo ...
- php读取文件使用redis的pipeline(管道)导入大批量数据
需求:需要做一个后台上传TXT文件,读取其中的内容,然后导入redis库中.要求速度快,并且支持至少10W以上的数据,而内容也就一个字段存类似openid和QQ 传统做法:我一开始做的时候就老套路,遍 ...