Giter Site home page Giter Site logo

date-from-string's Introduction

Build Status Coverage Status

date-from-string

Take a string date and convert it into a date.

Why?!

The little story is that while playing with dates, I stumble upon this issue:

I tweeted my surprise, and Matt Johnson who knows about dates, helped me understand basically that dates in JavaScript was a mess.

The Date constructor is only required to recognize ISO8601 compliant strings (which have two-digits in months and days fields). When it does, they are treated as being at UTC midnight instead of local midnight - which is opposite of ISO8601, but a requirement of ECMAScript.

Your 1st example is being treated as UTC because of this.

Your 2nd example is non-iso compliant, but Chrome has decided to parse it as local time (implementation specific behavior).

Your 3rd example is iso-compliant, but is treated as local time by the spec because it has a time

Here's the small thread on Twitter

So this helper helps create dates in a more predictable way. If you have any issues, just let me know!

Installation

npm install date-from-string --save
yarn add date-from-string
bower install date-from-string --save

Usage

Javascript

var dfs = require('date-from-string');

// same as new Date(2013, 10, 14)
dfs.parse('2013-11-14');

// same as new Date(2013, 0, 1)
dfs.parse('2013-01-01') === dfs.parse('2013-1-1');

// new Date('2013-11-14T00:00:00.000Z')
dfs.parse('2013-11-14T00:00:00.000Z');

/** You can also override time **/

// same as new Date(2013, 10, 14, 15, 49, 30, 12)
dfs.parse('2013-11-14', 15, 49, 30, 12);

// Or also with a full date and time
// same as new Date(2013, 0, 1, 15, 49, 30, 12)
dfs.parse('2013-01-01T00:00:00.000Z', 15, 49, 30, 12);

TypeScript

import { parse } from 'date-from-string';
console.log(parse('2013-01-01'))

AMD

define(function(require,exports,module){
  var dfs = require('date-from-string');
});

Test

npm run test

date-from-string's People

Contributors

sbtnh avatar

Watchers

Philippe St-Martin avatar  avatar James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.