Chcę uzyskać aktualny czas w określonym formacie za pomocą javascript.
Dzięki poniższej funkcji i wywołaniu to da mi piątek 01 lutego 2013 13:56:40 GMT + 1300 (czas letni w Nowej Zelandii), ale chcę sformatować to tak, jak w piątek 14:00 1 lutego 2013
var d = new Date();
var x = document.getElementById("time");
x.innerHTML = d;
Oczywiście powyższy kod nie ma żadnej logiki formatowania, ale nie znalazłem jeszcze żadnego "działającego" programu formatującego.
javascript
date
time
format
Seong Lee
źródło
źródło
Odpowiedzi:
JavaScript Date ma kilka metod umożliwiających wyodrębnienie jej części:
getFullYear()
- Zwraca 4-cyfrowy rokgetMonth()
- Zwraca liczbę całkowitą od zera (0-11) reprezentującą miesiąc roku.getDate()
- Zwraca dzień miesiąca (1-31).getDay()
- Zwraca dzień tygodnia (0-6). 0 to niedziela, 6 to sobota.getHours()
- Zwraca godzinę dnia (0-23).getMinutes()
- Zwraca minutę (0-59).getSeconds()
- Zwraca sekundę (0-59).getMilliseconds()
- Zwraca milisekundy (0-999).getTimezoneOffset()
- Zwraca liczbę minut między czasem lokalnym maszyny a czasem UTC.Nie ma wbudowanych metod umożliwiających uzyskanie zlokalizowanych ciągów znaków, takich jak „piątek”, „luty” czy „po południu”. Musisz sam to zakodować. Aby otrzymać żądany ciąg, musisz przynajmniej przechowywać ciąg reprezentujący dni i miesiące:
Następnie złóż to razem, korzystając z powyższych metod:
Mam funkcję formatu daty, którą chciałbym dołączyć do mojej standardowej biblioteki. Pobiera parametr ciągu formatu, który definiuje żądane wyjście. Ciągi formatu są luźno oparte na niestandardowych ciągach formatu daty i godziny .Net . Dla formatu określono następujący format string będzie działać:
"dddd h:mmtt d MMM yyyy"
.Demo: jsfiddle.net/BNkkB/1
Oto moja pełna funkcja formatowania daty:
źródło
MMMM[0]
zwraca poprawną nazwę miesiąca zamiast niedrukowalnego znaku w indeksie 0? Nie powinno byćMMMM[M]
? Czy jestem po prostu głupi? (Nieważne. Ustawia go na niedrukowalny znak, który zastępuje później, aby uniknąć konfliktów)Możesz spróbować
Dokumentacja
źródło
d.toLocaleTimeString()
id.toLocaleTimeString()
nie działają.toLocaleTimeString()
itoLocaleTimeString()
Aktualizacja 2017 : użyj toLocaleDateString i toLocaleTimeString do formatowania dat i godzin. Pierwszym parametrem przekazywanym do tych metod jest wartość ustawień regionalnych, na przykład en-us . Drugi parametr, jeśli jest obecny, określa opcje formatowania, takie jak długi formularz dla dnia tygodnia.
Więcej informacji można znaleźć w poniższym linku
Ciągi daty i godziny (JavaScript)
źródło
toLocalTimeString
oferuje 4 style datfull
long
medium
short
i być może znaczenie tych terminów jest gdzieś zdefiniowane. Tymczasem strftime mógłby (prawdopodobnie) dopasować się do każdego z nich i wielu innych. Z drugiej stronytoLocalTimeString
obsługuje strefy czasowe. Mam nadzieję, że obejmuje to strefy czasowe, które używają czasu letniego ...Możesz użyć mojego portu strftime :
Przykładowe użycie:
Najnowszy kod jest dostępny tutaj: https://github.com/thdoan/strftime
źródło
Spójrz na wewnętrzne elementy klasy Date, a zobaczysz, że możesz wyodrębnić wszystkie bity (datę, miesiąc, rok, godzinę itp.).
http://www.w3schools.com/jsref/jsref_obj_date.asp
Na przykład
Fri 23:00 1 Feb 2013
kod wygląda tak:**** Zmodyfikowano 29.05.2019, aby zadowolić 3 przeciwników
źródło
date.getMinutes()
polega na tym, że zwraca pojedynczą cyfrę, gdy minuty są mniejsze niż 10, co daje czasy takie jak „10:04 rano” zamiast bardziej powszechnego „10:04”.Istnieje wiele wspaniałych bibliotek dla zainteresowanych
Obecnie nie powinno być potrzeby wymyślania własnych specyfikatorów formatowania.
źródło
moment
Jest aktualnym standardem dla rzeczy związanych z czasem w Javascript.moment
skały.d3
dodał również trochę czasu, więc jeśli już tego używasz, możesz zapisać bibliotekę import github.com/d3/d3/blob/master/API.md#time-formats-d3-time-format2.39 KB zminimalizowane. Jeden plik. https://github.com/rhroyston/clock-js
Aktualny czas to
źródło
źródło
Aby pracować z bazową klasą Date możesz spojrzeć na MDN pod kątem jej metod (zamiast W3Schools z tego powodu ). Można tam znaleźć dobry opis każdej metody przydatnej do uzyskania dostępu do każdego pojedynczego składnika daty / czasu oraz informacje dotyczące tego, czy metoda jest przestarzała, czy nie.
W przeciwnym razie możesz spojrzeć na Moment.js który jest dobrą biblioteką do przetwarzania daty i czasu. Możesz go użyć do manipulowania datą i godziną (na przykład parsowanie, formatowanie, i18n itp.).
źródło
Użycie i wynik:
źródło
W tym prawdziwym stylu mysql użyj poniższej funkcji:
2019/02/28 15:33:12
źródło
ISO8601 (np. HH: MM: SS, 07:55:55 lub 18:50:30) w przeglądarce Chrome:
na krawędzi :
źródło
}) ();
05:12:00
źródło
źródło