Skip to content

Small utility to convert times between GPS epoch (midnight January 6, 1980) and Unix epoch (midnight January 1, 1970), taking into account leap seconds.

License

Notifications You must be signed in to change notification settings

davidcalhoun/gps-time.js

Repository files navigation

gps-time.js

Build Status Downloads

Small utility to convert times between GPS epoch (midnight January 6, 1980) and Unix epoch (midnight January 1, 1970), taking into account leap seconds.

It's not such a trivial matter as adding a constant number of leap seconds to all time inputs! For any two times, a different number of leap seconds may have elapsed between them. This utility helps figure out exactly how many have elapsed.

No dependencies! Very small: 464 bytes gzipped.

Works on the client and on the server (in Node.js).

Node.js installation

npm i --save gps-time

Usage

AMD and CommonJS are supported, with a fallback that defines this utility at window.gpsTime

In Node, you can bring in this utility with this:

var gpsTime = require('gps-time');

Converting from Unix time to GPS time.

var unixMS = Date.now();  // 1454168480000
gpsTime.toGPSMS(unixMS);  // 1138203697000

Converting from GPS time to Unix time.

var gpsMS = 1138203697000;
gpsTime.toUnixMS(gpsMS);  // 1454168480000

Tests

This comes with a small test suite which can be run like this:

$ npm install --dev
$ npm test

License

Licenced under MIT

About

Small utility to convert times between GPS epoch (midnight January 6, 1980) and Unix epoch (midnight January 1, 1970), taking into account leap seconds.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published