dateonly
A JavaScript class that stores a date without a time.
About
DateOnly
is a data type that will only store a date, without an associated time. This allows you to work with dates without having to worry about time zones shifting the date.
A simple example is a person's birthday - a birthday is not a single moment in time, but rather a full day. DateOnly
is the perfect data type to represent such data.
Installation
npm install dateonly
Usage
var DateOnly = require('dateonly');
require(['DateOnly'], function(DateOnly) { ... });
var DateOnly = window.DateOnly;
var DateOnly = require('dateonly');
var myBirthday = new DateOnly('7/4/1980');
API
new DateOnly(defaultValue)
defaultValue: undefined
If nothing is passed into the DateOnly
constructor, it will default to today's date.
defaultValue: Date
If a Date
object is passed in, the DateOnly
instance will be set to the Date
's date.
defaultValue: String
If a String
is passed in, it will be passed to the Date
constructor, and that new Date
instance will then be used to set the DateOnly
's date.
defaultValue: Number
If a Number
is passed in, it will be passed to the Date
constructor, and that new Date
instance will then be used to set the DateOnly
's date.
new DateOnly().setDate(date)
Sets the date
portion of the DateOnly
instance.
date: Number
The number to set the date to. No validation is performed.
Example:
var date = new DateOnly('1/1/2000');
date.setDate(20);
console.log(date);
date.setDate(80);
console.log(date);
new DateOnly().getDate()
Gets the date
portion of the DateOnly
instance.
new DateOnly().setMonth(month)
Sets the month
portion of the DateOnly
instance. As with the Date
object, January === 0.
month: Number
The number to set the month to. No validation is performed.
new DateOnly().getMonth()
Gets the year
portion of the DateOnly
instance.
new DateOnly().setFullYear(year)
Sets the year
portion of the DateOnly
instance.
month: Number
The number to set the year to. No validation is performed.
new DateOnly().getFullYear()
Gets the year
portion of the DateOnly
instance.
new DateOnly().getDay()
Gets the day of the week of the DateOnly
instance. As with the Date
object, Sunday === 0.
new DateOnly().toDate()
Returns the Date
representation of the DateOnly
instance.
Example:
var dateOnly = new DateOnly('1/1/2000');
dateOnly.toDate() instanceof Date
dateOnly.toDate();
new DateOnly().valueOf() | new DateOnly().toJSON()
Returns the numeric representation of the DateOnly
instance, of the form YYYYMMDD
.
Example:
var dateOnly = new DateOnly('7/15/2000');
dateOnly.valueOf()
dateOnly.toJSON()
new DateOnly().toString()
Returns the date string of the DateOnly
instance. This is equivalent to calling new DateOnly().toDate().toDateString()
.
Example:
var dateOnly = new DateOnly('7/4/2000');
dateOnly.toString()
If you are using Mongo and Mongoose, there is a package that will allow you to store and query DateOnly
properties that can be found here.
##Test
npm test