2016-12-31 4 views
-2

Ich habe eine api, denneues Datum bestimmtes Format in Javascript akzeptieren

dd/mm/yyyy 

so, wenn ich versuche, etwas zu tun mit new Date()

new Date('1/2/2017') Ich habe Jan Dattelzweig Rückkehr mit diesem Format 2, aber in der Tat bedeutet es 1. Februar. Ich kann nicht ändern, wie die API geschrieben wird, kann jede mögliche Problemumgehung ich neues Datum machen() td/mm/yyyy nicht nehmen mm/dd/yyyy?

Ich möchte nicht Bibliothek wie Moment verwenden.

+0

Sie nicht jQuery für diese wollen. Es ist einfach, den Monat mit dem Tag zu wechseln: 'yourDate.replace (/ (\ d +) \/(\ d +) \/(\ d {4}) /," $ 2/$ 1/$ 3 ")' '. Oder '.split ("/")' und verwende die Teile mit 'neues Datum (Jahr, Monat, Tag)'. – nnnnnn

+0

Es gibt eine Funktion getDateFromFormat(), die eine Datumszeichenfolge analysiert und die Zeit in ms zurückgibt, die das Datumsobjekt http://www.mattkruse.com/javascript/date/ darstellt. Vielleicht wird das dein Problem lösen. – tomepejo

Antwort

1

Sie können die Reihenfolge Ihres aktuellen Datums umkehren. Der Date-Konstruktor akzeptiert das Format yyyy/mm/dd. Es wäre auch einfacher als reguläre Ausdrücke tun:

function getDate(date) { 
 
    date = date.split('/').reverse().join('/'); 
 
    return new Date(date); 
 
} 
 

 
let date = '1/2/2017'; 
 

 
alert(getDate(date)); // Wednesday, February 1, 2017

Verwandte Themen