Skip to content

RaschidJFR/js-excel-date-convert

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation

📆 Convert between Excel and JS dates

This script takes into consideration the Leap-Year bug and the date difference between 1900 and 1904 Excel Date Systems.

Usage

// You can verify these results with the example at:
// https://docs.microsoft.com/en-us/office/troubleshoot/excel/1900-and-1904-date-system

const toExcelDate = require('js-excel-date-convert').toExcelDate;
const fromExcelDate = require('js-excel-date-convert').fromExcelDate;

const jul = new Date('jul 5 1998');

toExcelDate(jul);  // 35981 (1900 date system)

toExcelDate(jul, true); // 34519 (1904 date system)

fromExcelDate(35981); // "Sun, 05 Jul 1998 00:00:00 GMT"

fromExcelDate(34519, true);  // "Sun, 05 Jul 1998 00:00:00 GMT"

API

fromExcelDate(excelDate, date1904): Date

Param Type Required Description
excelDate number yes An integer number representing a date in Excel.
date1904 boolean no Set this to true if the date is encoded in 1904 Date System. This is the default format for Excel in MacOS.

If you're using SheetJS you can check which system the file is using by calling wb.Workbook.WBProps.date1904

toExcelDate(date, date1904): number

Param Type Required Description
date Date yes Date to encode into Excel format.
date1904 boolean no If true, the date will be encoded to 1904 Date System. This is the default format for Excel in MacOS.

If you're using SheetJS you can check which system the file is using by calling wb.Workbook.WBProps.date1904

Credits

Raschid JF. Rafaelly

https://raschidjfr.dev

About

Convert between Excel and JS dates

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published