Skip to content

Instantly share code, notes, and snippets.

@christopherscott
Created May 24, 2012 16:40
Show Gist options
  • Select an option

  • Save christopherscott/2782634 to your computer and use it in GitHub Desktop.

Select an option

Save christopherscott/2782634 to your computer and use it in GitHub Desktop.

Revisions

  1. christopherscott revised this gist May 24, 2012. 1 changed file with 7 additions and 5 deletions.
    12 changes: 7 additions & 5 deletions ExcelToJsDate.js
    Original file line number Diff line number Diff line change
    @@ -4,11 +4,13 @@
    // @return {Date}

    function getJsDateFromExcel(excelDate) {
    // JavaScript dates can be constructed by passing milliseconds
    // since the Unix epoch (January 1, 1970) example:
    // new Date(12312512312);

    // Subtract number of days between Jan 1, 1900 and Jan 1, 1970,
    // plus 1 (Google "excel leap year bug") and convert to milliseconds.
    // JavaScript dates can be constructed by passing milliseconds
    // since the Unix epoch (January 1, 1970) example: new Date(12312512312);

    // 1. Subtract number of days between Jan 1, 1900 and Jan 1, 1970, plus 1 (Google "excel leap year bug")
    // 2. Convert to milliseconds.

    return new Date((excelDate - (25567 + 1))*86400*1000);

    }
  2. christopherscott renamed this gist May 24, 2012. 1 changed file with 0 additions and 0 deletions.
    File renamed without changes.
  3. christopherscott created this gist May 24, 2012.
    14 changes: 14 additions & 0 deletions ExcelToJsDate
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,14 @@
    // Convert Excel dates into JS date objects
    //
    // @param excelDate {Number}
    // @return {Date}

    function getJsDateFromExcel(excelDate) {
    // JavaScript dates can be constructed by passing milliseconds
    // since the Unix epoch (January 1, 1970) example:
    // new Date(12312512312);

    // Subtract number of days between Jan 1, 1900 and Jan 1, 1970,
    // plus 1 (Google "excel leap year bug") and convert to milliseconds.
    return new Date((excelDate - (25567 + 1))*86400*1000);
    }