Shell date command details

Source: Internet
Author: User
Tags current greenwich mean time

Date + % s can get UNIX timestamp;
Use shell to convert time strings and timestamps:
Date-d "00:00:00" + % s output format: 1287331200
The time stamp can be converted to a string as follows:
Date-d @ 1287331200 "+ % Y-% m-% d" output format: 2010-10-18
To get the days before and after the specified date, you can:
1. seconds = 'date-d "00:00:00" + % s' # Get the timestamp
2. seconds_new = 'expr $ seconds + 100' # Add 86400 seconds in a day
3. date_new = 'date-d @ $ seconds_new "+ % Y-% m-% d" '# obtain the day before the specified date plus the day before.

For more details:

Usage: date [-u] [-D datestr] [-s datestr] [-- UTC] [-- Universal] [-- date = datestr] [-- set = datestr] [-- help] [-- version] [+ format] [mmddhhmm [[CC] YY] [. SS]

 

Note: date can be used to display or set the date and time of the system. In terms of display, users can set the format to be displayed. The format is set to a plus sign followed by several tags, the available tags are listed as follows:

 

Time:

%: Printed

% N: Next row

% T: Skip

% H: hour (00 .. 23)

% I: hour (01 .. 12)

% K: hour (0 .. 23)

% L: hour (1 .. 12)

% M: minute (00 .. 59)

% P: displays local am or PM

% R: direct display time (in 12-hour format: hh: mm: ss [AP] m)

% S: number of seconds from January 1, 1970 00:00:00 UTC till now % s: seconds (00 .. 61)

% T: direct display time (in 24-hour format)

% X: equivalent to % H: % m: % s

% Z: display the time zone

 

Date:

% A: The day of the week (Sun .. SAT)

% A: The day of the week (Sunday .. Saturday)

% B: Month (Jan .. dec)

% B: Month (January... December)

% C: Display date and time directly

% D: Day (01 .. 31)

% D: Display date directly (mm/DD/yy)

% H: Same as % B

% J: The day of the year (001 .. 366)

% M: Month (01 .. 12)

% U: Week (00 .. 53) of the year (the first day of the week on Sunday)

% W: The day of the week (0 .. 6)

% W: Week (00 .. 53) of the Year (Monday is the first day of the week)

% X: Display date directly (mm/DD/yy)

% Y: last two digits of the Year (00.99)

% Y: full year (0000 .. 9999)

 

If it does not start with a plus sign, the time is set, and the time format is mmddhhmm [[CC] YY] [. SS].

MM indicates the month,

Dd is a day,

HH is the hour,

Mm is minute,

CC is the first two digits of the year,

YY is the last two digits of the year,

SS is the number of seconds

 

Calculation:

-D datestr: display the time set in datestr (non-system time)

-Help: displays auxiliary messages.

-S datestr: set the system time to the time set in datestr

-U: displays the current Greenwich Mean Time.

-Version: displays the version number.

 

Example:

The current date is displayed: date + % T % N % d

Show month and number of days: date + % B % d

Display date and set time (12:34:56): date-date 12:34:56

Note: If you do not want meaningless 0 values (for example,), you can insert the-symbol in the tag, for example, date + %-H: %-M: %-s removes the meaningless 0 in the hour, minute, and second, as if the original 08:09:04 will change. In addition, you can set the system time only when you have the permission (such as root. After you change the system time as root, remember to write the system time to CMOS using clock-w, in this way, the system time will continue to hold the latest correct value upon the next reboot.

 

Create a file named at the current time

Mkdir 'date + % Y % m % d'

The backup uses the time as the file name

Tar CVF./htdocs 'date when policyymm=d'.tar ./*

 

 

How do I obtain the date of the last week?

Lastmonth = 'date + % Y-% m -- date = "-1 month" '"-01 ";

Then awk-V is passed as a parameter to the simple point.

# Date-d "-1 week" "+ % Y % m % d %"

The date command returns the date of the day before yesterday, yesterday, tomorrow, the day after tomorrow, last month, and next month.

Date-d "-2 day" "+ % Y % m % d % A" or date -- date = "2 days ago" "+ % Y % m % d %"

Date-d "-1 day" "+ % Y % m % d % A" or date -- date = "1 day ago" "+ % Y % m % d %"

Date-d "1 day" "+ % Y % m % d %"

Date-d "2 day" "+ % Y % m % d %"

Date-d "-1 month" "+ % Y % m % d %"

Date-d "1 month" "+ % Y % m % d %"

Echo 'date-d "-1 month" "+ % Y-% m-% d % x "'

 

Other usage:

Date + % s can get UNIX timestamp;

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.