精华内容
下载资源
问答
  • linux date命令的格式

    2020-08-31 19:54:10
    以下选出几个日常比较常用的时间格式date +%A 显示星期几(英语,如Sunday) date +%B 显示月份(英语,如March) date +%d 显示目前是本月份第几天 date +%F 显示目前的年月日(格式如:2011-01-01)相当于:...

    我们在linux中使用shell时,想查看日期或时间的时候可以使用date这个命令。
    date命令的格式: date 【option】 【+Format】
    以下选出几个日常比较常用的时间格式:

    1. date +%A 显示星期几(英语,如Sunday)
    2. date +%B 显示月份(英语,如March)
    3. date +%d 显示目前是本月份第几天
    4. date +%F 显示目前的年月日(格式如:2011-01-01)相当于:date +%Y-%m-%d
    5. date +%Y 显示目前年
    6. date +%m 显示当前是本年第几个月
    7. date +%H 显示小时
    8. date +%M 显示分钟
      9.date +%S 显示秒数
    9. date +%j 本年第几天(0-366)
    10. date +%n 换行
    11. date +%t 跳格
    12. date +%T 显示24小时制时间 相当于: date +%H:%M:%S
      所以要显示标准日期和时间可以如此写: date +%F%t%T
    13. date +%Y-%m-%d --date="+1 day" 以" +%Y-%m-%d"格式显示“本日+1天”以后的日期。
      同理,可以推算年和月,如下:–date="-1 day" --date="-a year" --date="-1 month"
    14. date +%Y-%m-%d --reference="/home/uncle_cat/shahuhu" 以"+%Y-%m-%d “的日期格式列出”/home/uncle_cat/shahuhu" 这个文件的最后修改日期。
    15. date --set=“2011-01-01 16:51:54” 设定目前的日期为"2011-01-01 16:51:54" ----请注意,此权限只有root用户才有,一般用户没有的。

    在linux shell编程中,经常用到日期的加减运算
    以前都是自己通过expr函数计算,很麻烦
    其实date命令本身提供了日期的加减运算
    非常方便。例如:得到昨天的时间
    date +%Y%m%d --date="-1 day"
    date 用法: date [OPTION]… [+FORMAT]
    date [-u|–utc|–universal] [MMDDhhmm[[CC]YY][.ss]]
    date 可以用来显示或设定系统的日期与时间。
    1.在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记,其中可用的标记列表如下: % : 打印出 %
    %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 : 显示时区 %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)
    2.在设定时间方面
    date -s //设置当前时间,只有root权限才能设置,其他只能查看。
    date -s 20080523 //设置成20080523,这样会把具体时间设置成空00:00:00
    date -s 01:01:01 //设置具体时间,不会对日期做更改
    date -s “01:01:01 2008-05-23″ //这样可以设置全部时间
    date -s “01:01:01 20080523″ //这样可以设置全部时间
    date -s “2008-05-23 01:01:01″ //这样可以设置全部时间
    date -s “20080523 01:01:01″ //这样可以设置全部时间
    3.加减
    date +%Y%m%d //显示前天年月日
    date +%Y%m%d --date="+1 day" //显示前一天的日期
    date +%Y%m%d --date="-1 day" //显示后一天的日期
    date +%Y%m%d --date="-1 month" //显示上一月的日期
    date +%Y%m%d --date="+1 month" //显示下一月的日期
    date +%Y%m%d --date="-1 year" //显示前一年的日期
    date +%Y%m%d --date="+1 year" //显示下一年的日期

    展开全文
  •  该命令一般格式为: date [选项] 显示时间格式(以+开头,后面接格式)  date 设置时间格式  命令中各选项含义分别为:  -d datestr, --date datestr 显示由datestr描述日期  -s datestr, --set datestr...

    date命令
      date命令的功能是显示和设置系统日期和时间。
      该命令的一般格式为: date [选项] 显示时间格式(以+开头,后面接格式)
      date 设置时间格式
      命令中各选项的含义分别为:
      -d datestr, --date datestr 显示由datestr描述的日期
      -s datestr, --set datestr 设置datestr 描述的日期
      -u, --universal 显示或设置通用时间
    date %s 从1970年1月1日00:00:00到目前经历的秒数

    在这里插入图片描述

    展开全文
  • Linux date命令-d、--date选项接受的时间描述字符串的格式详解

    Linux的date命令非常复杂,尤其是-d(--date)选项接受的时间描述字符串更是非常的丰富,使用起来非常灵活。

    通用日期语法

    日期可能是一个空字符串,也可能包含许多由空格分隔的项。如果项之间不会产生歧义,空格也可以省略。空字符串表示当天的开始。字符串中项的顺序没有限制。一些序数可以在某些上下文中用文字写出。在最常用的序数中,“last”代表-1,“this”代表0,“first”和“next”都代表1。因为“second”代表时间单位,所以序数2不能用文字表示,但是其他的3、4、5、6等分别可以用“third”、“fourth”、“fifth”、“sixth”等表示。目前只支持英文的单词和缩写,如:“AM”、“DST”、“EST”、“first”、“January”、“Sunday”、“tomorrow”、“yesterday”和“year”。date命令的结果不总是可接受的字符串,除了语言问题之外,还与时区项如“IST”没有标准含义有关。所以如果想要使用date命令生成后续用于解析的日期字符串时,需要制定独立于语言的日期格式,并且不使用“UTC”和“Z”以外的其他时区。在日期中完全忽略字母大小写。目前没有后跟数字的连字符会被忽略。数字的前导0也会被忽略。

    日历项

    日历项指定一年中的某一天。指定方式取决于月份是用数字还是文本指定的。

    1.对于数字月份,允许ISO8601格式“year-month-day”,year是任意正整数,month为01-12,day为01-31。如果数字小于10必须有前导0。如果年份小于等于68,则会加上2000,如果年份大于68小于100,则会加上1990。日期格式“month/day/year”在美国很流行,还可以将年省略“month/day”。

    3.文本月份可以全拼,也可以以前三个字母(或后面再跟一个“.”)为缩写表示。其中九月September除了缩写Sep外,还有一个Sept。当月以文本表示时,允许的格式有:“day month year”、“day month”、“month day year”、“day-month-year”、“month day”。

    #以下日期均表示2019年01月18日
    2019-01-18 #ISO 8601格式
    19-1-18 #年小于69,会加上2000
    19-01-18 #前导0会被忽略
    1/18/19 #美国格式
    1/18 #美国格式
    18 January 2019 #月份用文本表示
    18 Jan 19 #月份用文本表示
    18 Jan. 19 #月份用文本表示
    Jan 18, 2019 #月份用文本表示
    18-Jan-19 #月份用文本表示
    18Jan19 #月份用文本表示
    Jan 18 #月份用文本表示

    时间项

    时间项用于指定给定日期的时间。

    1.通常时间格式为“hour:minute:second”,hour为0-23,minute为0-59,second为0-59(或者后面跟着“.”或“,”再加包含一到多个数字的小数部分)。当second为0时,可以选择省略“:second”部分。在极少数支持闰秒的主机上,秒可能会是60。

    2.如果时间后面跟着“am”(“a.m.”)或“pm”(“p.m.”),hour则被限制为1-12,当minute为0时,可以选择省略“:minute”部分。如果使用这种表示方式,午夜是“12am”,中午是“12pm”。

    3.时间后可以跟随时区进行校正。时区校正格式为“shhmm”,s为“+”或“-”,hh是时区小时数,mm是时区分钟数。一位数或两位数会被解析为小时数进行校正,分钟数被省略。还可以使用“:”将hh和mm分隔开。当以这种方式给出时区校正时,时间会被强制相对于UTC时间进行解析,会覆盖之前指定的时区。最大区域校正为24小时。“am”(“a.m.”)或“pm”(“p.m.”)不能与时区校正同时出现。

    #以下时间均表示22时16分
    22:16:00.000000 #常用格式
    22:16 #秒为0时可省略
    10:16pm #使用am/pm格式
    22:16+0800 #使用时区校正(东八区时间)
    

    时区项

    时区项指定国际时区,用一组字母表示时区。通过在非夏令时时区后用空格分隔后跟随“DST”,可以指定相应的夏令时时区。或者可以在非夏令时时区后跟随时区校正,将两个值相加。通常只使用与UTC时区,比如“UTC+05:30”等效于“+05:30”。如果没有提供时区项或时区校正,则使用默认时区的规则解析时间。除“UTC”与“Z”以外的时区项已过时,不推荐使用,因为它们的含义不明确。最好是使用时区校正。

    日期和时间合并项

    ISO 8601日期时间扩展格式包含ISO 8601日期、分隔符“T”和ISO 8601时间。 分隔符还是可以是空格。这种格式中,小时需要使用24小时制,秒可以是分数(小数与整数部分用逗号或点分隔),小时和分钟不可以是分数。通常,主机支持纳秒时间戳分辨率;多余的精度会被悄悄丢弃。

    2019-01-18T22:16:00.0865+08:00
    2019-01-18T22:16:00,86442-07:00
    2018-12-12 18:23Z

    星期项

    明确地提到一周中的某一天将会把日期(仅在必要时)提前到将来的那一天。一周中的某天可以用全拼表示,也可以以前三个字母(或后面再跟一个“.”)为缩写表示。其中周二还可用缩写“Tues”表示,周三还可用缩写“Wednes”表示,周四还可用“Thur”或“Thurs”表示。还可以在周的天之前加上数字来向前推进日期。比如“fifth Wednes”,表示指定日期后的第5个周三。由此“”星期的天后面的逗号会被忽略。还可以用“last”、“next”表示前一、后一,如“last Sun.”表示指定日期的前一个周日。

    fifth Sun #第五个周日
    next Wednes #下一个周三等价于Wednes
    last Tuesday #上一个周二
    

    相对项

    相对项用于向前或向后调整时间或日期,相对项的效果会累积。时间位移的单位可以用字符串“year”或“month”表示,来按整年或整月移动,年和月是模糊单位,因为年和月不都是相同的时间间隔,比如平年和闰年。更精确的单位有“fortnight”(两周,即14天)、“week”(7天)、“day”(24小时)、“hour”(60分)、“minute”(或min,60秒)、“second”(或sec,1秒),这些单位后面可以加后缀“s”,但是会被忽略。

    在时间单位之前可以有一个可选的有符号的数字,如果没有符号默认为正号,如果没有数字则默认为1。如果单位后面跟随一个相对项“ago”则等价于将单位之前的数字乘以-1。此外“tomorrow”表示后一天等价于“day”,“yesterday”表示前一天等价于“day ago”。

    “now”和“today”相当于是0时间位移,表示当前时间,不会改变之前的项。通常用来强调其他项,如“23:11 today”。“this”也是0时间位移,在类似“this sunday”这样的表示中更适合。

    当一个相对项导致结果日期越过时钟调整的边界时(通常是夏令时),结果日期和时间将相应地进行调整。单位的模糊会导致此问题。

    1 year #一年后,等价于year
    1 year gao#一年前,等价于-1 year
    now #当前时间,等价于today
    tomorrow #后一天,等价于1 day、day
    yesterday #前一天,等价于-1 day、day ago
    this Wed #周三,等价于Wed
    2 year -1 day#两年后往前一天
    

    纯数字项

    对纯数字的精确解析取决于日期字符串的上下文。

    如果十进制数的形式为“yyyymmdd”,并且日期字符串中没有其他日历项出现在它前面,那么yyyy解析为年,mm解析为月,nn解析为日。

    如果十进制数的形式是“hhmm”,并且日期字符串中没有其他时间项出现在它前面,那么hh解析为时,mm解析为分钟。对于特殊的时间mm可以省略。

    20190119 #2019年01月19日
    0919 #9时19分
    09 #9时0分

    秒项

    如果在数字前加上“@”,则该数字表示时间戳的描述。数字可以包含“.”或“,”,任何不被支持的超额精度都会被舍弃。秒项不能与任何其他日期项组合,因为它指定了完整的时间戳。计算机时间表示为从纪元开始的秒数,GNU和POSIX系统,纪元为“1970-01-01 00:00:00 UTC”,所以“@0”就表示这个纪元,“@100”表示的时间为“1970-01-01 00:01:40 UTC”等等。GNU和大多数与POSIX兼容的系统都支持将时间作为POSIX的扩展,使用负计数,因此“@-1”表示1969-12-31 23:59:59 UTC。在大多数主机上,这些计数忽略了闰秒的存在,没有办法表示闰秒。

    @0
    @1532156204
    展开全文
  • 二、显示格式,提取对应的时间,+是与后面的格式连在一起的,一定要有。 xxx@ubuntu:~$ date -d today +%Y%m%d%H%M%S 20201212162042 xxx@ubuntu:~$ date +%Y%m%d%H%M%S 20201212162048 xx...

        linux date命令显示格式化的年月日时分秒

     

    一、单独的date命令

    xxx@ubuntu:~$ date
    Sat Dec 12 16:19:21 CST 2020
    xxx@ubuntu:~$ 

    二、显示格式,提取对应的时间,+是与后面的格式连在一起的,一定要有。

    xxx@ubuntu:~$ date -d today +%Y%m%d%H%M%S
    20201212162042
    xxx@ubuntu:~$ date  +%Y%m%d%H%M%S
    20201212162048
    xxx@ubuntu:~$ 

    三、在脚本里面应用。

     

    展开全文
  • 下面小编就为大家带来一篇Linuxdate命令,格式化输出,时间设置方法。小编觉得挺不错,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • 1.Linux date的用法(1)UTC (Universal Time Coordinated,UTC)世界协调时间CST (China Standard Time UTC+8:00)中国沿海时间(北京时间)GMT (Greenwich Mean Time)格林威治标准时间(2)设置时间date -s "01:01:01 2017-...
  • Linux date 修改时间

    2017-11-28 11:27:00
    命令格式date -s 修改时间的字符 范例:修改系统日期,不修改时间(时分秒) # date -s 2020-12-20 范例:修改系统时间 不修改日期 # date -s 10:40:23 范例:修改系统日期和系统时间 # date -s "2020-12-02 10:40...
  • •-d, –date=STRING 显示STRING指定的时间 •-f, –file=DATEFILE 类似–date参数显示DATEFILE文件中的每行时间 •-ITIMESPEC, –iso-8601[=TIMESPEC] 以ISO 8601 格式显示日期/时间。TIMESPEC为”date”(只...
  • linux date格式

    千次阅读 2014-06-03 10:03:52
    date使用_获取当前日期和时间date "+%Y-%m-%d %H:%M%S"_获取任意日期n天前,n天后时间date "+%Y-%m-%d" -d "日期(格式例如2012-06-01) n days"_获取任意两个日期之间相差天数expr '(' $(date +%s -d "2012-07-01...
  • date命令的帮助信息 [root@localhost source]# date --help用法:date [选项]... [+格式] 或:date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]... -d,--date=字符串 显示指定字符串所描述的时间,而非当前时...
  • linux shell date 日期格式转换

    千次阅读 2020-07-30 13:09:40
    在Shell环境里,我们获取时间的命令是date,但date出来的时间日期格式、内容可能不是我们所想要的,所以我们可能需要对它进行一些格式化输出。 常用的时间域如下: % Y 年(例如:1970,2018等) % m 月(01..12)...
  • Linux date 日期 时间

    千次阅读 2018-02-26 22:19:55
    [+格式]date 展示当前系统时间 -d,--date=字符串 显示指定字符串所描述的时间,而非当前时间 -f,--file=日期文件 类似--date,从日期文件中按行读入时间描述 -r, --reference=文件 显示文件指定文件的最后修改...
  • linux date时间

    2015-05-30 12:50:18
    date -d "yesterday" +%Y-%m-%d  查看昨天的时间, 以 年--月-日的格式
  • 关于linux的时间​在Linux中有硬件时钟与系统时钟。硬件时钟是指主机板上的时钟设备,也就是通常可在BIOS画面设定的时钟;系统时钟则是指kernel中的时钟;所有Linux相关指令与函数都是读取系统时钟的设定。当Linux...
  • 用法:date [选项]… [+格式]或:date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][....-d,–date=字符串 显示指定字符串所描述的时间,而非当前时间-f,–file=日期文件 类似–date,从日期文件中按行读入时间描述-r...
  • Linux date日期格式及加减运算

    万次阅读 2012-08-16 13:46:44
    显示时间是个常用的命令,在写shell脚本中也经常会...Linuxdate命令用法date [OPTION]… [+FORMAT]date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] date命令参数-d, –date=STRING 显示STRING指定的时间-f

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,404
精华内容 561
关键字:

linuxdate的时间格式

linux 订阅