easy-date

1.2.7 • Public • Published

Build Status npm version

EasyDate

EasyDate is a Javascript extension for easy dates manipulations which was heavily inspired by Rails ActiveSupport::Duration class.

Installation

Node.js npm install easy-date

Bower bower install easy-date

Download the latest

Usage

var easyDate = require('easy-date').easyDate;
// or
import { easyDate, backwardCompatibility } from 'easy-date'

// this will expose the number extension methods
// which was a default before version 1.2
backwardCompatibility(); 

Basic usage:

import { easyDate } from 'easy-date';

let date1 = easyDate(3).days().ago();
const date2 = easyDate(10).months().fromNow();
const date3 = easyDate(5).years().ago();
const date4 = easyDate(10).days().since(date2);
const date5 = easyDate(1).year().before(date1);
var yesterday = easyDate(24).hours().ago();

Legacy syntax usage:

import { backwardCompatibility } from 'easy-date';
backwardCompatibility();

by adding the codes above, new methods are now available on all numbers:

  • day(), days()
  • month(), months()
  • year(), years()
  • hour(), hours()
var date1 = 3..days().fromNow();
var date2 = (10).months().ago();

var yesterday = 1..day().ago();
var today = new Date();
var num = 5;
num.years().before(today); //==> is equal to 5..years().ago()
num.years().since(today); //==> is equal to 5..years().fromNow()

it will also add some basic date helpers

Date.today() //=> new Date()
Date.yesterday() //=> 1..day().ago()
Date.tommorrow() //=> 1..day().fromNow()

Formatting

The date.format library written by Steven Levithan (http://blog.stevenlevithan.com/archives/date-time-format) is now integrated for a very nice date formatting.

5..days().fromNow().format("d mmmm yyyy");
// is same as
5..days().fromNow("d mmmm yyyy");

// other functions
Date.today("yyyy-mm-dd");
Date.yesterday("dddd");
3..days().since(Date.yesterday(), "mmm dd, yyyy");

Check the complete formatting here

Contributing to easy-date

  • Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet.
  • Check out the issue tracker to make sure someone already hasn't requested it and/or contributed it.
  • Fork the project.
  • Start a feature/bugfix branch.
  • Commit and push until you are happy with your contribution.
  • Make sure to add tests for it. This is important so I don't break it in a future version unintentionally.
  • Please try not to mess with the webpack.config.js, package.json, version, or history. If you want to have your own version, or is otherwise necessary, that is fine, but please isolate to its own commit so I can cherry-pick around it.
  • Checkout package.json, there are few scripts that are very helpful during development.
Copyright

Copyright (c) 2017 Melvin Sembrano. See LICENSE for further details

Package Sidebar

Install

npm i easy-date

Weekly Downloads

2

Version

1.2.7

License

MIT

Unpacked Size

90.9 kB

Total Files

31

Last publish

Collaborators

  • melvinsembrano