exceldate
exceldate
is a simple date utility package which converts excel timestamps to JS dates. It was built from knowledge gathered in research of "how to convert spreadsheet dates to JavaScript dates?" It features a complete set of tests, no dependencies (except for testing), available types (via JSDoc and TypeScript definitions), and a permissive license. This library is maintained and improving since 2018. Feature requests or contributions are always welcome!
Installation
yarn add exceldate
# or
npm install exceldate
Usage
Check it out:
const exceldate = require('exceldate')
// Use it directly:
const result = exceldate('1').toISOString(); // 1899-12-31T00:00:00.000Z
const anotherResult = exceldate(4242.4242).toISOString(); // 1911-08-12T10:10:50.880Z
// Use it with a callback:
exceldate(9000, (err, res) => {
if (!err) console.log(res.toISOString()) // 1924-08-21T00:00:00.000Z
});
// Note: the standard callback enables easy use with promise & async when desired.
// First, import util and promisify exceldate.
const util = require('util');
const exceldateAsync = util.promisify(exceldate);
// Then, use like a regular promise...
const exceldateAsync(9000).then(console.log).catch(console.error);
// ...or await the result when in async contexts.
const result = await exceldateAsync(9000);
Testing
Prerequisites:
- clone/download the repo
- navigate to the repo:
cd exceldate
- install dev dependencies to test:
yarn
To test run yarn test
TypeScript types
Types are generated by the TypeScript compiler according to the tsconfig.json
configuration settings. To regenerate the types, run yarn typegen
License
This is free and unencumbered software released "as is" into the public domain, without warranty of any kind. For more information, please refer to the LICENSE file and https://unlicense.org