date -d的灵活应用
* To print the date of the day before yesterday:
比如現(xiàn)在的時間是? 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
本文轉(zhuǎn)自 zfno11 51CTO博客,原文鏈接:http://blog.51cto.com/zfno111/1943422
總結
以上是生活随笔為你收集整理的date -d的灵活应用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python函数中的变量和函数返回值
- 下一篇: 浅谈HTTP响应拆分攻击(一)