Skip to content

Instantly share code, notes, and snippets.

@zymr-keshav
Last active November 2, 2017 10:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save zymr-keshav/bee9b9d7ad9fc46da2b90788e88fb79d to your computer and use it in GitHub Desktop.
Save zymr-keshav/bee9b9d7ad9fc46da2b90788e88fb79d to your computer and use it in GitHub Desktop.
Date object with diffrenet arguments as on new chrome
let today = new Date();
console.log(today); // return current Date 2017-11-02T09:34:04.471Z
// single argument
let arg1_positive = new Date(0); // or 100 any positive number return same
console.log("arg1_positive", arg1_positive); // return epoch time 1970-01-01T00:00:00.000Z
let arg1_negative = new Date(-1); // return provided number millisecond back from ecoch
console.log(arg1_negative); // return 1 millisecond before epoch time 1969-12-31T23:59:59.999Z
let arg1_null = new Date(null);
console.log("arg1_null", arg1_null); // return 1970-01-01T00:00:00.000Z
let arg1_empty_array = new Date([]);
console.log("arg1_empty_array", arg1_empty_array); // Invalid Date
let arg1_empty_string = new Date("");
console.log("arg1_empty_string", arg1_empty_string); // Invalid Date
let arg1_undefined = new Date(undefined);
console.log("arg1_undefined", arg1_undefined); // Invalid Date
let arg1_empty_object = new Date({});
console.log("arg1_empty_object", arg1_empty_object); // Invalid date
// now if we provide one argument in string than it gives amazing result
// specific date SD == 1899-12-30T18:30:00.000Z or Sun Dec 31 1899 00:00:00 GMT+0530 (IST)
let arg1_string_0 = new Date("0"); // SD + 100 years + 1 day as we can not write Date(100,0,1)
console.log("arg1_string_0", arg1_string_0); // 1999-12-31T18:30:00.000Z
let arg1_string_1 = new Date("1");
console.log("arg1_string_1", arg1_string_1); // 2000-12-31T18:30:00.000Z
let arg1_string_2 = new Date("2");
console.log("arg1_string_2", arg1_string_2); // 2001-01-31T18:30:00.000Z
let arg2_number = new Date(0, 0); // return SD = new Date (0,0,1)
console.log("arg2_number", arg2_number); // 1899-12-31T18:30:00.000Z
let arg3_number = new Date(0, 0, 0); // === SD
console.log("arg3_number SD", arg3_number); // 1899-12-30T18:30:00.000Z
let arg2_neg_number_11 = new Date(-1, -1); //
console.log("arg2_neg_number_11", arg2_neg_number_11); // -000002-11-30T18:30:00.000Z ???
let arg2_neg_number_01 = new Date(0, -1); // 1 month less than SD
console.log("arg2_neg_number_01", arg2_neg_number_01); // 1899-11-30T18:30:00.000Z
let arg2_neg_number_10 = new Date(-1, 0); //
console.log("arg2_neg_number_10", arg2_neg_number_10); // -000002-12-31T18:30:00.000Z. ???
let arg2_number_10 = new Date(1, 0); // sd + 1 year
console.log("arg2_number_10", arg2_number_10); // 1900-12-31T18:30:00.000Z
let arg2_number_01 = new Date(0, 1); // SD + 1 month
console.log("arg2_number_01", arg2_number_01); // 1900-01-31T18:30:00.000Z
let arg2_number_11 = new Date(1, 1); // SD + 1 year + 1 month
console.log("arg2_number_11", arg2_number_11); // 1901-01-31T18:30:00.000Z
let arg2_neg_number__11 = new Date(1, -1); // SD + 1 year - 1 month
console.log("arg2_neg_number__11", arg2_neg_number__11); // 1900-11-30T18:30:00.000Z
let arg3_number_111 = new Date(1, 1, 1); // SD + 1 year + 1 month + 1 day
console.log("arg3_number_111", arg3_number_111); // 1901-01-31T18:30:00.000Z
let arg3_number_101 = new Date(1, 0, 1); // sd + 1 year + 1 day
console.log("arg3_number_101", arg3_number_101); // 1900-12-31T18:30:00.000Z
let arg3_number_001 = new Date(0, 0, 1); // SD + 1 days
console.log("arg3_number_001", arg3_number_001); // 1899-12-31T18:30:00.000Z
let arg3_number_100 = new Date(1, 0, 0); // SD + 1 year
console.log("arg3_number_100", arg3_number_100); // 1900-12-30T18:30:00.000Z
let arg3_number_010 = new Date(0, 1, 0); // SD + 1 month
console.log("arg3_number_010", arg3_number_010); // 1900-01-30T18:30:00.000Z
let arg3_number_110 = new Date(1, 1, 0); // SD + 1 year + 1 month
console.log("arg3_number_110", arg3_number_110); // 1901-01-30T18:30:00.000Z
let arg3_null = new Date(null, null, null); // SD
console.log("arg3_null", arg3_null); // 1899-12-30T18:30:00.000Z
let arg3_empty_array = new Date([], [], []); // SD
console.log("arg3_empty_array", arg3_empty_array); //1899-12-30T18:30:00.000Z
let arg3_empty_string = new Date("", "", ""); // SD
console.log("arg3_empty_string", arg3_empty_string); //1899-12-30T18:30:00.000Z
let arg3_negative_number = new Date(-1, -1, -1); // return weired date
console.log("arg3_negative_number", arg3_negative_number); // -000002-11-28T18:30:00.000Z
let arg3_zero_string = new Date("0", "0", "0"); // SD
console.log("arg3_zero_string", arg3_zero_string); // 1899-12-30T18:30:00.000Z
let arg3_one_string = new Date("1", "1", "1"); // SD + 1 year + 1 month + 1 day == new Date (1,1,1)
console.log("arg3_one_string", arg3_one_string); // 1901-01-31T18:30:00.000Z
let arg3_100year = new Date(2000, 0, 1); // === new Date("0")
console.log("arg3_100year", arg3_100year); //1999-12-31T18:30:00.000Z
let arg3_101year = new Date(2001, 0, 1); // === new Date("1")
console.log("arg3_101year", arg3_101year); // 2000-12-31T18:30:00.000Z
let arg3_zero_string = new Date("0", "0", "0"); // SD
console.log("arg3_zero_string", arg3_zero_string); // 1899-12-30T18:30:00.000Z
let arg3_one_string = new Date("1", "1", "1"); // SD + 1 year + 1 month + 1 day == new Date (1,1,1)
console.log("arg3_one_string", arg3_one_string); // 1901-01-31T18:30:00.000Z
let arg3_100year = new Date(2000, 0, 1); // === new Date("0")
console.log("arg3_100year", arg3_100year); //1999-12-31T18:30:00.000Z
let arg3_101year = new Date(2001, 0, 1); // === new Date("1")
console.log("arg3_101year", arg3_101year); // 2000-12-31T18:30:00.000Z
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment