知识屋:更实用的电脑技术知识网站
所在位置:首页 > 操作系统 > linux

linux date -d参数用法

发布时间:2014-09-05 15:08:40作者:知识屋

linux date -d参数用法
 
* To print the date of the day before yesterday:
  www.zhishiwu.com  
          date --date='2 days ago' 
 
   * To print the date of the day three months and one day hence:
 
          date --date='3 months 1 day'
 
   * 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
 
(免责声明:文章内容如涉及作品内容、版权和其它问题,请及时与我们联系,我们将在第一时间删除内容,文章内容仅供参考)
收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜