Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> XML data
Krzychu00011
post 11.06.2011, 11:29:31
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 22.05.2011

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


Witam, mam problem ze zczytaniem daty z pliku XML do PHP. Wszystko inne ładnie zcytuje lecz właśnie z tą datą mam problemy.

Widok daty w XML:

<data>2011-02-24 20:35:14</data>

Widok kodu PHP:

$date = explode("-", $dane->data);
$data=date("Y-m-d H:i:s", mktime(0,0,0,$date[1], $date[2], $date[0]));

Po wywołaniu
echo $data;

Wyświetla mi się ciągle 1970-01-01 01:00:00

Czy wiek ktoś może gdzie mam błąd w tym kodzie PHP? Proszę o pomoc.
Go to the top of the page
+Quote Post
erix
post 11.06.2011, 11:47:32
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Prawdopodobnie w $dante->data nie masz tego, czego potrzebujesz. Jak nie ma jakiejś zmiennej, PHP wyrzuca notice i zwraca do kodu wartość null, która rzutowana na inta wynosi zero. wink.gif

Stąd timestamp zero i data sprzed 40 lat. wink.gif


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
Krzychu00011
post 11.06.2011, 12:09:06
Post #3





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 22.05.2011

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


echo $dane->data ;

wyświetla poprawną date,

coś jest nie tak z tą linijką:

$data=date("Y-m-d H:i:s", mktime(0,0,0,$date[1], $date[2], $date[0]));

i nie wiem co. :/

rok, misiac i dzień mi wrzuca do bazy ,

godziny , minuty i sekundy mi nie wrzuca i nie wiem co jest.
Go to the top of the page
+Quote Post
vandall
post 11.06.2011, 12:15:46
Post #4





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 10.06.2011

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


zaryzykuje stwierdzenie, że godziny minuty i sekundy wrzucamy w pierwsze parametry mktime()... ale wydaje mnie się, że date("format", strtotime($date)); mogłoby też tu zadziałać...

pzdr smile.gif
Go to the top of the page
+Quote Post
batman
post 11.06.2011, 12:18:49
Post #5





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




To powinno zadziałać.
  1. $date = explode("-", (string)$dane->data);



edit
Do "debugowania" zawsze używaj funkcji var_dump.



edit2
Poza tym sprawdź zawartość $date[2]...
Powód edycji: [batman]:


--------------------
I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features.
Go to the top of the page
+Quote Post
Krzychu00011
post 11.06.2011, 14:31:15
Post #6





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 22.05.2011

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


nie wrzuca nadal tej godziny :/
Go to the top of the page
+Quote Post
batman
post 11.06.2011, 14:45:33
Post #7





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




Pierwsza lekcja z czytania ze zrozumieniem:
Cytat
Poza tym sprawdź zawartość $date[2]


Kontynuując naukę "debugowania" w PHP, co zwraca var_dump($date) ?


--------------------
I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features.
Go to the top of the page
+Quote Post
Krzychu00011
post 11.06.2011, 14:53:39
Post #8





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 22.05.2011

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


$date[2] zwraca 24

var_dump($date) zwraca array(3) { [0]=> string(4) "2011" [1]=> string(2) "02" [2]=> string(11) "24 20:35:14" }

nadal nie wiem jak to zrobić z tą godziną, minutami i sekundami. :/
Go to the top of the page
+Quote Post
batman
post 11.06.2011, 15:03:05
Post #9





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




To co napisałeś nie ma prawa istnieć w naszym wszechświecie.
Zastosuj poradę @vandall-a, czyli date("format", strtotime($date)), w miejscu "format" wpisując poprawny format daty, jaki chcesz uzyskać.


--------------------
I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features.
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: 20.09.2024 - 01:19