2015-01-09 22 views
8

Otrzymuję datę w formacie GMT, piątek, 18 października 2013 11:38:23 GMT. Problem polega na tym, że czas marnuje oś czasu, której używam.Usuń czas z formatu czasu GMT

Jak mogę usunąć wszystko poza faktyczną datą?

+0

'console.log (. New Date ('piątek, 18 października 2013 11:38:23 GMT') toDateString()); ' – scniro

+0

Kiedy to zrobię, data GMT to' Mon Jan 12 00:00:00 GMT 2015' i kiedy podłączę ją do funkcji 'toDateString()', otrzymam funkcję 'Sun Jan 11 2015', dzień w tyle. –

+1

spróbuj fiddling z 'toLocaleString (params)' bit i podaj mu pożądane parametry formatowania. – Qwerty

Odpowiedz

17

Jak to:

var dateString='Mon Jan 12 00:00:00 GMT 2015'; 
dateString=new Date(dateString).toUTCString(); 
dateString=dateString.split(' ').slice(0, 4).join(' ') 
console.log(dateString); 
+0

Musiałem zmienić plaster na 0,3, ale działało idealnie !! Dzięki –

1

Wystarczy wyciąć go z substring:

var str = 'Fri, 18 Oct 2013 11:38:23 GMT'; 
str = str.substring(0,tomorrow.toLocaleString().indexOf(':')-3); 
0

W tym przypadku można po prostu manipulować ciąg bez użycia Date obiektu.

var dateTime = 'Fri, 18 Oct 2013 11:38:23 GMT', 
 
    date = dateTime.split(' ', 4).join(' '); 
 
    
 
document.body.appendChild(document.createTextNode(date));

11

Jeśli chcesz zachować używając String Data i nie można było tego zrobić:

var d=new Date(); //your date object 
console.log(new Date(d.setHours(0,0,0,0))); 

-PS, nie trzeba nowy obiekt Date, to tylko przykład w przypadku, gdy chcesz go zalogować do konsoli.

http://www.w3schools.com/jsref/jsref_sethours.asp

+1

Jeśli pracujesz z datami UTC, powinieneś użyć [setUTCHours] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCHours), ponieważ setHours _ ustawia godziny dla określoną datę zgodnie z czasem lokalnym. – wiktor

0

Używam tego obejścia:

// d being your current date with wrong times 
new Date(d.getFullYear(), d.getMonth(), d.getDate())