2016-12-13 4 views
0

У меня есть строка даты в формате «ггммдд» я хочу, чтобы преобразовать его в дате объект в JS входная строка «161208» Я попытался код нижеПреобразовать Дата String (ггммдд) для объекта Date в JS

var mydate = new Date(InputDate); 

но это говорит о недействительной дате. Вот скрипка https://jsfiddle.net/4ry0hL4t/

основная потребность заключается в том, у меня есть строка даты в формате «ггммдд», и я должен преобразовать его в различные форматы даты, как дд ("гггг/мм /, уу-мм- дд», "уу/мм").

+4

Попробуйте библиотеку [momentjs] (http://momentjs.com/), это довольно хорошая библиотека для синтаксического анализа. Javascripts и даты никогда не были таким хорошим совпадением (например: январь - это 0 месяц, а не первый ...) – Icepickle

+0

Возможно, этот пост может помочь вам дальше. http://stackoverflow.com/questions/10607935/convert-returned-string-yyyymmdd-to-date – gurtjun

ответ

0

Проверьте my answer. В основном вам сначала нужно указать правильный формат вашей строки. Вы можете сделать это вручную или использовать moment.js.

stringFormat = moment(dateObject).format("YYYY-MM-DDTHH:mm:ss"); 
date = new Date(stringFormat); 

This также очень полезно, чтобы понять, как различные строковые форматы совместимы с различными браузерами.

+1

Я пытался не использовать внешний JS но пришлось использовать его в конце концов, момент решил проблему. –

+0

@AdilWaqar Я рад это слышать, и действительно, moment.js - действительно хороший инструмент! –

0

Я не уверен, что это то, что вам нужно?

var s = '161208'; 
var dt = new Date('20' + s.substring(0, 2) + '-' + s.substring(2, 4) + '-' + s.substring(4)); 
+0

Это то предположение, которое заставило меня очень заняться в конце 90-х;) – Archer