Jak mogę przekonwertować ten format "Fri Jan 31 2014 00:00:00 GMT-0800 (Pacific Standard Time)"
na tylko 2014-01-31
w Javascript? Wiem, że powinno to być proste ale nie mogę go z GoogleJak przekonwertować ten skomplikowany format daty na ten w javascript
Odpowiedz
var d = new Date("Fri Jan 31 2014 00:00:00 GMT-0800 (Pacific Standard Time)");
var str = $.datepicker.formatDate('yy-mm-dd', d);
alert(str);
Wymaga to jQuery UI.
Matt ... chodzi o to, że jest obiektem .. nie ciągiem znaków – user3097566
@ user3097566 To właśnie 'd' jest w powyższym kodzie. Zastąp to swoim obiektem 'Date'. – Matt
@ Matt - polegasz na niestandardowym zachowaniu (parsowaniu niestandardowego łańcucha daty), kod nie powiedzie się w niektórych przeglądarkach. – RobG
Można to zrobić następująco
var date = new Date("Fri Jan 31 2014 00:00:00 GMT-0800 (Pacific Standard Time)");
var year=date.getFullYear();
var month=date.getMonth()+1 //getMonth is zero based;
var day=date.getDate();
var formatted=year+"-"+month+"-"+day;
widzę próbujesz sformatować datę. Należy całkowicie upuścić że i używać jQuery UI
można sformatować go tak jak to wtedy
var str = $.datepicker.formatDate('yy-mm-dd', new Date("Fri Jan 31 2014 00:00:00 GMT-0800 (Pacific Standard Time)");
znalazłem Web Developer's Notes pomocne w terminach formatowania
OP musi konwertować ciąg na datę, a nie bieżącą datę na ciąg –
, ale gdzie czy podaję wartość pt. 31 stycznia 2014 00:00:00 GMT-0800 (czas pacyficzny standardowy) do przeliczenia? – user3097566
W Chrome powoduje to '' Thu 12.12.2013 09:06:49 GMT-0500 (Eastern Standard Time) "', a nie ciąg przeznaczony. @IlyaBursov: nie, to jest kwestia manipulowania strunami. –
Można również korzystać z biblioteki Moment.js, upewnij się, aby go przeszukać.
kilka przykładów: moment().format('MMMM Do YYYY, h:mm:ss a');
moment().format('dddd');
Dzięki za edytowanie komentarza Qantas! – Simme
Nie ma za co. Tyle tylko, że nie dostarcza odpowiedzi, której szukał pytający - myślę, że szuka formatu "2014-01-31". –
podzielić ciąg na podstawie pustych przestrzeniach. Weź części i zrekonstruuj je.
function convertDate(d){
var parts = d.split(" ");
var months = {Jan: "01",Feb: "02",Mar: "03",Apr: "04",May: "05",Jun: "06",Jul: "07",Aug: "08",Sep: "09",Oct: "10",Nov: "11",Dec: "12"};
return parts[3]+"-"+months[parts[1]]+"-"+parts[2];
}
var d = "Fri Jan 31 2014 00:00:00 GMT-0800 (Pacific Standard Time)";
alert(convertDate(d));
To jest jedyna odpowiedź, która jest bliska.Łańcuchy dat muszą być ręcznie analizowane, szczególnie gdy podany ciąg nie jest zgodny z ECMA-262 ed 5. Lepiej jest mieć miesiące jako małe litery i robić 'doLowerCase()' na części miesiąca ciągu (lub wszystkich wielkie litery i użyj 'toUpperCase()'). – RobG
Dla takich rzeczy często dobrze jest zrobić małe testy w konsoli przeglądarki.
var date = new Date("Fri Jan 31 2014 00:00:00 GMT-0800 (Pacific Standard Time)");
console.log(date.getFullYear() + '-' + date.getMonth()+1 + '-' + date.getDate())
Upewnij się, że dodajesz + 1 do wyniku getMonth(), ponieważ jest on oparty na zera.
Podobny pytano tutaj:
Where can I find documentation on formatting a date in JavaScript?
Nawet jeśli łańcuch daty zostanie pomyślnie przeanalizowany (nie będzie w wielu przeglądarkach), powyższe dane nie będą zawierały jednocyfrowych liczb dni lub miesięcy, co prawdopodobnie jest tym, czego chce OP (choć nie jest to określone). – RobG
@RobG Wygląda na to, że działa w wielu przeglądarkach. Z drugiej strony OP może dokonać oceny w oparciu o kontekst ich pytania. Oczywiście, jeśli chcesz być całkowicie bezpieczny, ręczne manipulowanie strunami bez wątpienia będzie najbardziej niezawodne. – dr4g0nus
A trifling refinement:
var date = new Date(value);
var year = date.getFullYear();
var rawMonth = parseInt(date.getMonth()) + 1;
var month = rawMonth < 10 ? '0' + rawMonth : rawmonth;
var rawDay = parseInt(date.getDate());
var day = rawDay < 10 ? '0' + rawDay : rawDay;
console.log(year + '-' + month + '-' + day);
- 1. Ten sam format daty w kilku lokalizacjach
- 2. Konwersja daty JavaScript na format daty ASP.NET
- 3. jak przekonwertować ciąg daty na format daty w oracle10g
- 4. Co ten format oznacza T00: 00: 00.000Z?
- 5. Jak przekonwertować datetime na format daty w SQLite?
- 6. jak przekonwertować milisekundy na format daty w systemie Android?
- 7. JavaScript prototyp "ten" numer
- 8. Pomóż mi zrozumieć ten binarny format pliku
- 9. Jak przekonwertować ten kod jQuery na funkcję jQuery?
- 10. Jak przekonwertować ten wskaźnik pointeru OpenGL na Swift?
- 11. Jak mogę przekonwertować ten ciąg na listę list?
- 12. Entity Framework 6 - jak przekonwertować ten wiersz na asynchroniczny?
- 13. Jak przekonwertować milisekundy do czytelnej daty Minutes: Seconds Format?
- 14. Dlaczego ten format ciągu nie jest walutą?
- 15. DateTime.Parse format daty
- 16. Jak przekonwertować format daty na format DD-MM-YYYY w języku C#
- 17. Dlaczego java.text.DateFormat zwraca ten sam format daty dla en_US i en_GB w systemie Android?
- 18. jak przekonwertować datę z listy rozwijanej na format daty javascript i zwiększyć o 1 dzień?
- 19. Format daty z łańcucha?
- 20. Jak zmienić format daty w wyboru daty
- 21. Jak przekonwertować datę na format słowy?
- 22. Javascript daje inną odpowiedź na ten sam algorytm w Pythonie
- 23. Jak nazwałeś ten projekt?
- 24. Format daty Knockout.js
- 25. Format daty sklepu w elasticsearch
- 26. Dlaczego ten javascript jest wywoływany dwa razy?
- 27. Jak ten wzorzec jest wywoływany w JavaScript? czy ma imię?
- 28. Jak naprawić ten AttributeError?
- 29. Format daty w RangeValidator
- 30. Jak można uczłowieczyć ten całkowity czas trwania w chwili.js/javascript
Czy to 'dzień spełnienia wymogu obiekt? Zapoznaj się z dostępnymi metodami: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date –