How to change the current time setting in Ubuntu

How to change the current date and time in Ubuntu? If your system date is not correct and you don't know how to change or correct it? This article will help you to set a new time.

  • 1. My current system date time:
    ubuntu@ip-172-31-41-12:/var/www/logs$ date
    Wed Mar 26 07:09:04 UTC 2014
  • 2. Now I changed the system date with new time:
    ubuntu@ip-172-31-41-12:/var/www/logs$ sudo date 032612422014.25
    Wed Mar 26 12:42:25 UTC 2014
  • 3. After setting the new date now it's look like:
    ubuntu@ip-172-31-41-12:/var/www/logs$ date
    Wed Mar 26 12:42:31 UTC 2014

So, its a very easy to set the new time in ubuntu or linux through command prompt, we just need to run the following command 

  ubuntu@ip-172-31-41-12:/var/www/logs$ sudo date 032612422014.25

But how do we know to set the all parameters correctly? Not a big challenge. See the correct time setting below: 

We need to set new date time parameters like –


  • MM is a two digit month, between 01 to 12
  • DD is a two digit day, between 01 and 31, with the regular rules for days according to month and year applying
  • hh is two digit hour, using the 24-hour period so it is between 00 and 23
  • mm is two digit minute, between 00 and 59
  • YYYY is the year; it can be two digit or four digit: your choice. I prefer to use four digit years whenever I can for 
    better clarity and less confusion
  • ss is two digit seconds. Notice the period ‘.’ before the ss.

Now it is easy to understand the new time parameters setting. Try it and if you feel difficulty put your problem in comment box, we are here to help you! You can find the full details and parameters about date in ubuntu manual which is as follows:

`date': Print or set system date and time

Usage: date [OPTION]... [+FORMAT]
  or:  date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]].

Invoking `date' with no FORMAT argument is equivalent to invoking it with a default format that depends on the `LC_TIME' locale category. In the default C locale, this format is `'+%a %b %e %H:%M:%S %Z %Y'', so the output looks like `Thu Mar  3 13:47:51 PST 2005'.

   Normally, `date' uses the time zone rules indicated by the `TZ' environment variable, or the system default rules if `TZ' is not set. *Note Specifying the Time Zone with `TZ': (libc)TZ Variable.

   If given an argument that starts with a `+', `date' prints the current date and time (or the date and time specified by the `–date' option, see below) in the format defined by that argument, which is similar to that of the `strftime' function.  Except for conversion specifiers, which start with `%', characters in the format string are printed unchanged.  The conversion specifiers are described below.

   An exit status of zero indicates success, and a nonzero value indicates failure

Display the current time in the given FORMAT, or set the system date.

  -d, --date=STRING         display time described by STRING, not 'now'
  -f, --file=DATEFILE       like --date once for each line of DATEFILE
  -I[TIMESPEC], --iso-8601[=TIMESPEC]  output date/time in ISO 8601 format.
                            TIMESPEC='date' for date only (the default), 'hours', 'minutes', 'seconds', or 'ns' for date and 
time to the indicated precision.
  -r, --reference=FILE      display the last modification time of FILE
  -R, --rfc-2822            output date and time in RFC 2822 format.
                            Example: Mon, 07 Aug 2006 12:34:56 -0600
      --rfc-3339=TIMESPEC   output date and time in RFC 3339 format.
                            TIMESPEC='date', 'seconds', or 'ns' for date and time to the indicated precision. Date and time 
components are separated by
                            a single space: 2006-08-07 12:34:56-06:00
  -s, --set=STRING          set time described by STRING
  -u, --utc, --universal    print or set Coordinated Universal Time
      --help     display this help and exit
      --version  output version information and exit

FORMAT controls the output.  Interpreted sequences are:

  %%   a literal %
  %a   locale's abbreviated weekday name (e.g., Sun)
  %A   locale's full weekday name (e.g., Sunday)
  %b   locale's abbreviated month name (e.g., Jan)
  %B   locale's full month name (e.g., January)
  %c   locale's date and time (e.g., Thu Mar  3 23:05:25 2005)
  %C   century; like %Y, except omit last two digits (e.g., 20)
  %d   day of month (e.g., 01)
  %D   date; same as %m/%d/%y
  %e   day of month, space padded; same as %_d
  %F   full date; same as %Y-%m-%d
  %g   last two digits of year of ISO week number (see %G)
  %G   year of ISO week number (see %V); normally useful only with %V
  %h   same as %b
  %H   hour (00..23)
  %I   hour (01..12)
  %j   day of year (001..366)
  %k   hour, space padded ( 0..23); same as %_H
  %l   hour, space padded ( 1..12); same as %_I
  %m   month (01..12)
  %M   minute (00..59)
  %n   a newline
  %N   nanoseconds (000000000..999999999)
  %p   locale's equivalent of either AM or PM; blank if not known
  %P   like %p, but lower case
  %r   locale's 12-hour clock time (e.g., 11:11:04 PM)
  %R   24-hour hour and minute; same as %H:%M
  %s   seconds since 1970-01-01 00:00:00 UTC
  %S   second (00..60)
  %t   a tab
  %T   time; same as %H:%M:%S
  %u   day of week (1..7); 1 is Monday
  %U   week number of year, with Sunday as first day of week (00..53)
  %V   ISO week number, with Monday as first day of week (01..53)
  %w   day of week (0..6); 0 is Sunday
  %W   week number of year, with Monday as first day of week (00..53)
  %x   locale's date representation (e.g., 12/31/99)
  %X   locale's time representation (e.g., 23:13:48)
  %y   last two digits of year (00..99)
  %Y   year
  %z   +hhmm numeric time zone (e.g., -0400)
  %:z  +hh:mm numeric time zone (e.g., -04:00)
  %::z  +hh:mm:ss numeric time zone (e.g., -04:00:00)
  %:::z  numeric time zone with : to necessary precision (e.g., -04, +05:30)
  %Z   alphabetic time zone abbreviation (e.g., EDT)

By default, date pads numeric fields with zeroes.
The following optional flags may follow '%':

  -  (hyphen) do not pad the field
  _  (underscore) pad with spaces
  0  (zero) pad with zeros
  ^  use upper case if possible
  #  use opposite case if possible

After any flags comes an optional field width, as a decimal number;
then an optional modifier, which is either
E to use the locale's alternate representations if available, or
O to use the locale's alternate numeric symbols if available.

Convert seconds since the epoch (1970-01-01 UTC) to a date
  $ date --date='@2147483647'

Show the time on the west coast of the US (use tzselect(1) to find TZ)
  $ TZ='America/Los_Angeles' date

Show the local time for 9AM next Friday on the west coast of the US
  $ date --date='TZ="America/Los_Angeles" 09:00 next Fri'
Posted in Linux | Tagged , , , | Comments Off

Comments are closed.