Skip to content

jsantell/tiny-time

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tiny-time

Tiny DSL for creating Dates. Inspired by David Chambers' an.hour.ago, except without modifying Number.prototype.

Properties

  • now current timestamp (same as +new Date())

As well as representation of units of time (plural, singular) for seconds, minutes, hours, days, weeks, months (30 days), years (365 days)

Unit creation

  t(1).second // 1000
  t(3).minutes // 180000
  t(5).days // 1000 * 60 * 60 * 24 * 5

Date creation

Comparators can accept a Date object, and return a Date object with the difference relative to the argument.

before

var newYears = new Date('1/1/2013'); // Tue Jan 01 2013 00:00:00 GMT-0800 (PST)
t(10).days.before(newYears); // Sat Dec 22 2012 00:00:00 GMT-0800 (PST)

after, from

after and from are the same method.

  var newYears = new Date('1/1/2013'); // Tue Jan 01 2013 00:00:00 GMT-0800 (PST)
  t(3).weeks.after(newYears); // Tue Jan 22 2013 00:00:00 GMT-0800 (PST)

ago

ago is essentially the same as before, except it's not a method and gets the time from now.

new Date(); // Fri May 10 2013 17:44:55 GMT-0800 (PST)
t(1).year.ago; // Thu May 10 2012 17:44:55 GMT-0800 (PST)

Chains

and

It's possible to extend a time by chaining several and calls together. For example, to get the time of 1 year and 3 months ago:

new Date(); // Fri May 10 2013 17:47:44 GMT-0800 (PST)
t(1).year.and(t(3).months).ago; // Fri Feb 10 2012 17:47:44 GMT-0800 (PST)

Development

Install dev dependencies via npm install and run npm test for tests

License

MIT License

About

Tiny DSL for creating Dates.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published