date -d的灵活应用

简介:

* To print the date of the day before yesterday:
比如现在的时间是  date   :    2017年 05月 01日 星期一 02:02:39 CST
          date --date "1 days ago"  ==date -d "1 days ago"
                     结果为:2017年 04月 30日 星期日 02:03:01 CST

   * To print the date of the day three months and one day hence:
          date --date '3 months 1 day' == date -d "3 months 1 day"

       结果为:  2017年 08月 02日 星期三 02:03:49 CST 3个月零一天之后
   * To print the day of year of Christmas in the current year:
          date --date '25 Dec' +%j
   * To print the current full month name and the day of the month:
          date '+%B %d' 打印今天是几月和几台是几号


     But this may not be what you want because for the first nine days
     of the month, the `%d' expands to a zero-padded two-digit field,
     for example `date -d 1may '+%B %d'' will print `May 01'.

   * To print a date without the leading zero for one-digit days of the
     month, you can use the (GNU extension) `-' flag to suppress the
     padding altogether:

          date -d 1may '+%B %-d

   * To print the current date and time in the format required by many
     non-GNU versions of `date' when setting the system clock:
          date +%m%d%H%M%Y.%S

   * To set the system clock forward by two minutes:
          date --set='+2 minutes'

   * To print the date in RFC 2822 format, use `date --rfc-2822'.  Here
     is some example output:

          Fri, 09 Sep 2005 13:51:39 -0700

   * To convert a date string to the number of seconds since the epoch
     (which is 1970-01-01 00:00:00 UTC), use the `--date' option with
     the `%s' format.  That can be useful in sorting and/or graphing
     and/or comparing data by date.  The following command outputs the
     number of the seconds since the epoch for the time two minutes
     after the epoch:

          date --date='1970-01-01 00:02:00 +0000' +%s
          
          date --date='1970-01-01 00:02:00 +0000' +%s
          120

     If you do not specify time zone information in the date string,
     `date' uses your computer's idea of the time zone when
     interpreting the string.  For example, if your computer's time
     zone is that of Cambridge, Massachusetts, which was then 5 hours
     (i.e., 18,000 seconds) behind UTC:

          # local time zone used
          date --date='1970-01-01 00:02:00' +%s
          18120

   * If you're sorting or graphing dated data, your raw date values may
     be represented as seconds since the epoch.  But few people can
     look at the date `946684800' and casually note "Oh, that's the
     first second of the year 2000 in Greenwich, England."

          date --date='2000-01-01 UTC' +%s
          946684800

     An alternative is to use the `--utc' (`-u') option.  Then you may
     omit `UTC' from the date string.  Although this produces the same
     result for `%s' and many other format sequences, with a time zone
     offset different from zero, it would give a different result for
     zone-dependent formats like `%z'.

          date -u --date=2000-01-01 +%s
          946684800

     To convert such an unwieldy number of seconds back to a more
     readable form, use a command like this:

          # local time zone used
          date -d '1970-01-01 UTC 946684800 seconds' +"%Y-%m-%d %T %z"
          1999-12-31 19:00:00 -0500
     Often it is better to output UTC-relative date and time:

          date -u -d '1970-01-01 946684800 seconds' +"%Y-%m-%d %T %z"
          2000-01-01 00:00:00 +0000


本文转自 zfno11 51CTO博客,原文链接:http://blog.51cto.com/zfno111/1943422

相关文章
|
5月前
Easyui validatebox增加对time、date、datetime的验证,时间格式化
Easyui validatebox增加对time、date、datetime的验证,时间格式化
|
7月前
|
Java API
Java常用API(三)Date,DateFormat和Calendar
Java常用API(三)Date,DateFormat和Calendar
43 0
|
9月前
|
存储 JavaScript 前端开发
《现代Javascript高级教程》Date类:日期和时间处理
Date类:日期和时间处理 引言 在JavaScript中,Date类是用于处理日期和时间的内置类。它提供了一系列属性和方法,使我们能够操作和管理日期、时间、时区等相关信息。本文将详细介绍Date类的属性、常用方法以及应用场景,并提供相应的代码示例。
60 0
|
Java 测试技术 Spring
你还在用@DateTimeFormat?有没有更好的方法?
你还在用@DateTimeFormat?有没有更好的方法?
你还在用@DateTimeFormat?有没有更好的方法?
Java动态构建日期年月日目录
Java动态构建日期年月日目录
|
前端开发 JavaScript
前端学习案例-new Date()参数
前端学习案例-new Date()参数
194 0
|
Java 开发者
Date日期处理类|学习笔记
快速学习 Date 日期处理类
|
开发框架 .NET C#
C#基础——DateTime
C#基础——DateTime
228 0
|
Java 安全
java8+ 简单、安全、高效的格式化 Date
SimpleDateFormat 线程不安全 众所周知 SimpleDateFormat 线程不安全,不少朋友被其坑过。 下面是 stackoverflow 的文章 why-is-javas-simpledateformat-not-thread-safe 中的栗子。
1841 0