Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
"time.h" bindings for NodeJS
JavaScript C++ Python

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
.gitignore
.npmignore
LICENSE
README.md
build.sh
index.js
package.json
test.js
time.cc
wscript

README.md

node-time

"time.h" bindings for NodeJS.

This module offers simple bindings for the C time.h APIs. It also offers an extended regular Date object with getTimezone() and setTimezone() functions, which aren't normally part of JavaScript.

Example

var time = require('time');

// Create a new Date instance
var now = new time.Date();

now.setTimezone("America/Los_Angeles");
// `.getDate()`, `.getDay()`, `.getHours()`, etc.
// will return values according to UTC-8

now.setTimezone("America/New_York");
// `.getDate()`, `.getDay()`, `.getHours()`, etc.
// will return values according to UTC-5

API

Date() -> Date

A special Date constructor that returns a "super" Date instance, that has magic timezone capabilities!

var date = new time.Date();

date.setTimezone(timezone) -> Undefined

Sets the timezone for the Date instance. Calls to getHours(), getDays(), getMinutes(), etc. will be relative to the timezone specified. This will throw an Error if information for the desired timezone could not be found.

date.setTimezone("America/Argentina/San_Juan");

date.getTimezone() -> String

Returns a String containing the currently configured timezone for the date instance.

date.getTimezone();
 // "America/Argentina/San_Juan"

time() -> Number

Binding for time(). Returns the number of seconds since Jan 1, 1900 UTC. These two are equivalent:

time.time();
 // 1299827226
Math.floor(Date.now() / 1000);
 // 1299827226

tzset(timezone) -> Object

Binding for tzset(). Sets up the timezone information that localtime() will use based on the specified timezone variable, or the current process.env.TZ value if none is specified. Returns an Object containing information about the newly set timezone, or throws an Error if no timezone information could be loaded for the specified timezone.

time.tzset('US/Pacific');
 // { tzname: [ 'PST', 'PDT' ],
 //   timezone: 28800,
 //   daylight: 1 }

localtime(Number) -> Object

Binding for localtime(). Accepts a Number with the number of seconds since the Epoch (i.e. the result of time()), and returns a "broken-down" Object representation of the timestamp, according the the currently configured timezone (see tzset()).

time.localtime(Date.now()/1000);
 // { seconds: 38,
 //   minutes: 7,
 //   hours: 23,
 //   dayOfMonth: 10,
 //   month: 2,
 //   year: 111,
 //   dayOfWeek: 4,
 //   dayOfYear: 68,
 //   isDaylightSavings: false,
 //   gmtOffset: -28800,
 //   timezone: 'PST' }
Something went wrong with that request. Please try again.