easy-date
v1.2.7
Published
EasyDate is a Javascript extension for easy dates manipulations which is heavily inspired by Rails ActiveSupport::Duration class.
Downloads
27
Maintainers
Readme
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
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