This site is mobile accessible. Press the "Tap Here" button to use a different font-size.


Smartphone icons created by Freepik - Flaticon

  • 5.1 JS Dates

    JavaScript Date Object lets us work with dates:
    Today is:

    Example

    var d = new Date();

    JavaScript Date Output

    • By default, JavaScript will use the browser's time zone and display a date as a full text string:
    • Wed Jan 06 2021 15:35:49 GMT-0700 (Mountain Standard Time)

    You will learn much more about how to display dates, later in this tutorial.

    Creating Date Objects

    • Date objects are created with the new Date() constructor.
    • There are 4 ways to create a new date object:
    new Date()
    new Date(year, month, day, hours, minutes, seconds, milliseconds)
    new Date(milliseconds)
    new Date(date string)

    new Date()

    new Date() creates a new date object with the current date and time:

    Example 1: JS Dates Using new Date() part 1
    var d = new Date();

    Date objects are static. The computer time is ticking, but date objects are not.

    new Date(year, month, ...)

    • new Date(year, month, ...) creates a new date object with a specified date and time.
    • 7 numbers specify year, month, day, hour, minute, second, and millisecond (in that order):
    Example 2: JS Dates new Date() part 1
    var d = new Date(2018, 11, 24, 10, 33, 30, 0);
    • Note: JavaScript counts months from 0 to 11.
    • January is 0. December is 11.
    • 6 numbers specify year, month, day, hour, minute, second:
    Example 3: JS Dates new Date() part 2
    var d = new Date(2018, 11, 24, 10, 33, 30);

    5 numbers specify year, month, day, hour, and minute:

    Example 4: JS Dates new Date() part 3
    var d = new Date(2018, 11, 24, 10, 33);

    4 numbers specify year, month, day, and hour:

    Example 5: JS Dates new Date() part 4
    var d = new Date(2018, 11, 24, 10);

    3 numbers specify year, month, and day:

    Example 6: JS Dates new Date() part 5
    var d = new Date(2018, 11, 24);

    2 numbers specify year and month:

    Example 7: JS Dates new Date() part 6
    var d = new Date(2018, 11);

    You cannot omit month. If you supply only one parameter it will be treated as milliseconds.

    Example 8: JS Dates new Date() part 7
    var d = new Date(2018);

    Previous Century

    One and two digit years will be interpreted as 19xx:

    Example 9: JS Dates new Date() part 8
    var d = new Date(99, 11, 24);
    Example 10: JS Dates new Date() part 9
    var d = new Date(9, 11, 24);

    new Date(dateString)

    new Date(dateString) creates a new date object from a date string:

    Example 11: JS Dates Using new Date() string
    var d = new Date("October 13, 2014 11:13:00");

    Date strings are described in the next chapter.

    JavaScript Stores Dates as Milliseconds

    • JavaScript stores dates as number of milliseconds since January 01, 1970, 00:00:00 UTC (Universal Time Coordinated).
    • Zero time is January 01, 1970 00:00:00 UTC.
    • Now the time is: 1609972549129 milliseconds past January 01, 1970

    new Date(milliseconds)

    new Date(milliseconds) creates a new date object as zero time plus milliseconds:

    Example 12: JS Dates Using new Date() part 2
    var d = new Date(0);

    01 January 1970 plus 100 000 000 000 milliseconds is approximately 03 March 1973:

    Example 13: JS Dates Using new Date() part 3
    var d = new Date(100000000000);

    January 01 1970 minus 100 000 000 000 milliseconds is approximately October 31 1966:

    Example 14: JS Dates Using new Date() part 4
    var d = new Date(-100000000000);
    Example 15: JS Dates Using new Date() part 5
    var d = new Date(86400000);

    One day (24 hours) is 86 400 000 milliseconds.

    Date Methods

    • When a Date object is created, a number of methods allow you to operate on it.
    • Date methods allow you to get and set the year, month, day, hour, minute, second, and millisecond of date objects, using either local time or UTC (universal, or GMT) time.

    Date methods and time zones are covered in the next chapters.

    Displaying Dates

    JavaScript will (by default) output dates in full text string format:

    Tue Mar 24 2015 18:00:00 GMT-0600 (Mountain Daylight Time)

    When you display a date object in HTML, it is automatically converted to a string, with the toString() method.

    Example 16: JS Dates The toString() Method
    d = new Date();
    document.getElementById("demo").innerHTML = d;
    Same as:
    d = new Date();
    document.getElementById("demo").innerHTML = d.toString();

    The toUTCString() method converts a date to a UTC string (a date display standard).

    Example 17: JS Dates The toUTCString() Method
    var d = new Date();
    document.getElementById("demo").innerHTML = d.toUTCString();

    The toDateString() method converts a date to a more readable format:

    Example 18: JS Dates The toDateString() Method
    var d = new Date();
    document.getElementById("demo").innerHTML = d.toDateString();

    The toISOString() method converts a date to a string, using the ISO standard format:

    Example 19: JS Dates The toISOString() Method
    var d = new Date();
    document.getElementById("demo").innerHTML = d.toISOString();
    Navigate this module

    Eventually the navigation links, above, will be replaced by these << (previous) and >> (next) buttons below.



    JavaScript icons used in the buttons provided by ICONS8.COM. Smartphone icons created by Freepik - Flaticon