Witaj mam plik XML i "Utworzony w" znacznik, który przechowuje datę i godzinę, w ten sposób 2012-09-15 02:08:46 Próbuję utworzyć nowy obiekt daty, więc mogę łatwo wydrukować miesiąc dzień i rok. Ale nie lubi tego formatu.

Coś takiego

var theDate = new Date(Date.parse(storyDate));

console.log(theDate.getMonth());
theDate = theDate.getDate() + ", " + theDate.getMonth();

Dzięki

Aktualizacja: Mogę go pracować w Chrome, ale nie Firefox. Aktualizacja: Znalazłem odpowiedź, dziękuję wszystkim. Dlaczego dowód? Okazało się, że jest to rozsądne pytanie. Brakowałem T.

-1
Dave2081 17 wrzesień 2012, 12:27

2 odpowiedzi

Najlepsza odpowiedź
var theDate = new Date(Date.parse(storyDate.replace(' ', 'T')));

"T" jest wymagany między datą a godziną. (Przynajmniej w Firefoksie)

Ważne formaty datetime.

2
timidboy 17 wrzesień 2012, 08:55

Ręcznie analizowałbym datę za pomocą wyrażeń regularnych.

var dateStr = "2012-09-15 02:08:46"
var dateRegex = /^(\d{4})-(\d{2})-(\d{2})\s(\d{2}):(\d{2}):(\d{2})$/
var dateParts = dateRegex.exec(dateStr)
var year = dateParts[1], 
    month = parseInt(dateParts[2], 10) - 1,
    day = dateParts[3],
    hour = dateParts[4],
    minutes = dateParts[5],
    seconds = dateParts[6];
var date = new Date(year, month, day, hour, minutes, seconds);
//
console.log(date.getMonth())
console.log(date.getDate() + ", " + date.getMonth());
1
driangle 17 wrzesień 2012, 08:46