Próbuję przekonwertować datę yyyy-mm-dd
na dd-mm-yyyy
(ale nie w SQL); nie wiem jednak, w jaki sposób funkcja daty wymaga znacznika czasu i nie mogę uzyskać znacznika czasu z tego ciągu.
Jak to jest możliwe?
php
date
formatting
matty
źródło
źródło
Odpowiedzi:
Użyj
strtotime()
idate()
:(Zobacz dokumentację strtotime i datę na stronie PHP).
Zauważ, że było to szybkie rozwiązanie pierwotnego pytania. W przypadku bardziej rozbudowanych konwersji naprawdę powinieneś używać
DateTime
klasy do analizowania i formatowania :-)źródło
Jeśli chcesz uniknąć konwersji strtotime (na przykład strtotime nie jest w stanie przeanalizować danych wejściowych), możesz użyć,
Lub równoważnie:
Najpierw nadajesz mu format $ dateString. Następnie mówisz, że ma on format, w którym ma być $ newDateString.
Lub jeśli formatem źródłowym zawsze jest „Ymd” (rrrr-mm-dd), użyj po prostu DateTime :
źródło
DateTime::createFromFormat()
- jest to naprawdę bardziej przydatne niżstrtotime()
strtotime()
przydatny do konwersji True Type format (RMD) do innych formatów, aleDateTime::createFromFormat()
jest uniwersalna. To jest jakSTR_TO_DATE
w MySQLstrtotime()
Posługiwać się:
Bez narzutu konwersji daty nie jestem pewien, czy będzie to miało duże znaczenie.
źródło
Ten kod działa dla każdego formatu daty.
Możesz zmienić kolejność zmiennych zastępczych, np. 3–1–1–2 USD, ze względu na stary format daty.
źródło
Aby uzyskać więcej informacji, zobacz dokumentację dotyczącą
strtotime
.Lub nawet krócej:
źródło
Kolejna niejasna możliwość:
Nie wiem, czy bym go użył, ale nadal :)
źródło
Najczęściej głosowana odpowiedź jest niepoprawna!Podręcznik PHP strtotime tutaj stwierdza, że „oczekuje funkcji należy podać ciąg zawierający datę w formacie angielskim”.
W rzeczywistości oznacza to, że oczekuje amerykańskiego formatu daty w USA, takiego jak „mdY” lub „m / d / Y”.Oznacza to, że data podana jako „Ymd” może zostać źle zinterpretowana przez
strtotime
. Powinieneś podać datę w oczekiwanym formacie.Napisałem małą funkcję zwracania dat w kilku formatach. Używaj i modyfikuj do woli.
Jeśli ktokolwiek przekształci to w klasę, byłbym zadowolony, gdyby to zostało udostępnione.źródło
Istnieją dwa sposoby realizacji tego:
1.
2)
źródło
Możesz wypróbować tę
strftime()
funkcję. Prosty przykład:strftime($time, '%d %m %Y');
źródło
Użyj tej funkcji do konwersji z dowolnego formatu na dowolny format
źródło
Poniżej podano kod PHP do generowania jutrzejszej daty przy użyciu
mktime()
i zmiany formatu na dd / mm / rrrr , a następnie wydrukowania za pomocąecho
.źródło
źródło
Możesz zmienić format za pomocą date () i strtotime ().
$ date = „18.09.2019”;
echo date ('dm-y', strtotime ($ date));
Wynik:
18-09-19
Możemy zmienić format, zmieniając (dmy).
źródło
Do tej konkretnej konwersji możemy również użyć ciągu formatu.
Oczywiście nie będzie to działać w przypadku wielu innych konwersji formatu daty, ale ponieważ w tym przypadku po prostu zmieniamy podciągi, jest to kolejny możliwy sposób.
źródło
strtotime()
. :-)źródło
Prosty sposób użycia
strtotime()
idate()
:Z czasem
źródło
Użyj
date_create
idate_format
Spróbuj tego.
źródło