Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] zmiana czasu w formacie amerykańskim na standardowy
agataperz
post 15.11.2020, 12:10:15
Post #1





Grupa: Zarejestrowani
Postów: 181
Pomógł: 0
Dołączył: 24.03.2009
Skąd: Hamburg DE

Ostrzeżenie: (0%)
-----


Witam,

pobieram z serwera amerykańskiego dane w json i niestety data jest zapisana w formacie amerykańskim. Niestety nie potrafię go przetworzyć na standardowy np. 2020-01-01.
  1. $datem = $decoded->date; // Nov 15th 2020, 06:01:55 am NY

zastosowałam standardową funkcję do przerobienia daty
  1. $datem = date("Y-m-d", strtotime($datem)); // 1970-01-01

i niestety poległam.

Czy możecie mi pomóc jak przetwożyć tą datę, jakiej funkcji użyć?
Go to the top of the page
+Quote Post
dublinka
post 15.11.2020, 12:26:21
Post #2





Grupa: Zarejestrowani
Postów: 594
Pomógł: 66
Dołączył: 22.02.2008
Skąd: Dublin

Ostrzeżenie: (0%)
-----


https://stackoverflow.com/questions/2487921...e-format-in-php


--------------------
Go to the top of the page
+Quote Post
SmokAnalog
post 16.11.2020, 00:01:00
Post #3





Grupa: Zarejestrowani
Postów: 1 707
Pomógł: 266
Dołączył: 3.07.2012
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Mało elegancko ze strony API, że podaje datę w takim niestandardowym formacie.

Może by tak po prostu wyrzucić część od ostatniej spacji?

  1. $datem = preg_replace('#\s+\S+$#', '', $decoded->date);


Po tym Twoja data powinna przejść bez problemu przez strtotime, ale upewnij się, że ta ostatnia (niestandardowa) część daty z API nigdy nie ma spacji. Czyli że np. to jest "NY", "LA" itp., ale nigdy np. "Las Vegas". Jeśli jest tam spacja, to trzeba trochę inaczej skonwertować tę datę.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 26.04.2024 - 09:51