2015-12-08 4 views
0

Я пытаюсь разобрать строку на объект Date javascript, я пробовал разные способы анализа его на Date, но ни один из них не работает. Первоначально я думал, что будет легко разобрать строку Date, поскольку JavaScript Date имеет конструктор, который принимает строку, или я бы использовал метод Date.parse(), но кажется, что я ошибался.Javascript datetime parsing from string

Вот строка на дату Формат- 2015-12-01 00: 28: 28,1271204 +01: 00

То, что я попытался так далеко

var dateCalc = new Date(str); 
var dateCalc = Date.parse(str); 

Пожалуйста, это JSFiddle - http://jsfiddle.net/D7c28/12/

Пожалуйста, предложите решение для этого. Пожалуйста, дайте мне знать, если я что-то упустил.

Спасибо :)

+0

[Вы проверили документацию?] (Https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/parse) Только метод 'Date.parse()' анализирует форматы даты, которые он предназначен для анализа. Если у вас есть дата в другом формате, вам придется интерпретировать ее с помощью собственного кода или отложить до такой библиотеки, как Moment.js. – Pointy

+0

Спасибо @Pointy, я обязательно проверю документацию, я пропустил это :) –

+0

'var dateCalc = new Date (str);' отлично работает – Ramanlfc

ответ

1

Он отлично работает для меня:

var str = "Fri, 15 Nov 2013 09:00:00 -0600" 
 
var date = new Date(str); 
 

 
console.log(date.getDate()) // 15

date является объектом Свидание с многими методами, как getDate(). Проверьте documentation.

Update:

2015-12-01 00:28:28.1271204 +01:00, кажется, не быть действительной датой для конструктора по умолчанию (но отлично работает в узле на моем Mac). Поэтому я использую moment.js, и он отлично работает.

Отъезд обновленный jsfiddle.

+0

Извините, я изменил значение str. Вы можете проверить фактический формат, о котором я спрашивал. Он работает в том формате, который вы указали. –

+0

Проверьте связь с JSFiddle. –

+0

@NikhilChavan Ознакомьтесь с обновленным [jsfiddle] (http://jsfiddle.net/iplus26/D7c28/15/) – iplus26

0

Я почти уверен, что

var dateString = "2015-12-01 00:28:28.1271204 +01:00"; 
var dateCalc = new Date(dateString); 

будет работать (dateCalc) будет иметь правильную дату (то есть, Вс Дек 01 2015 00; 28: 28 GMT + 0100 ..

Если вы хотите быть более flxeible с решением, которое вы всегда можете попробовать MomentJS, которая дает вам много можности с форматом, локализацией и такими вещами

+0

Пробовал, что не работает. проверьте это - http://jsfiddle.net/D7c28/ –

+0

Но что вы пытаетесь в точности? Поскольку DateCalc будет иметь соответствующий объект Date, который имеет такие методы, как getDate и т. Д. dateCalc.getDate() Я совершенно не понимаю, почему вы используете раскол и поп там? Проверьте, например, http://jsfiddle.net/n23v7tun/ – Shiroo

+0

Проверьте обновленную ссылку JSFiddle. –