Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP/SQL], Problem z datą z bazy danych
tmgryf
post 14.02.2009, 12:36:56
Post #1





Grupa: Zarejestrowani
Postów: 79
Pomógł: 1
Dołączył: 14.02.2009

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


ogólnie pobieram znacznk czasu z bazy danych i wynosi on : 1234634396

nie mogłem znaleźć odpowiedniego przesunięcia względem danej daty i czasu więc napisałem cos takiego
CODE
for($i=-100;$i<100;$i++)
{
echo 1234634396+$i;
echo "\t";
echo date('Y-m-d G:m:s',1234634396+$i);
echo "\n
";
}
?>


otrzymałem takie wyniki:

1234634339 2009-02-14 11:02:59
1234634340 2009-02-14 11:02:00
1234634341 2009-02-14 11:02:01
...
1234634399 2009-02-14 11:02:59
1234634400 2009-02-14 12:02:00
1234634401 2009-02-14 12:02:01
...
1234634459 2009-02-14 12:02:59
1234634460 2009-02-14 12:02:00
1234634461 2009-02-14 12:02:01

minuty sie nie zmieniaja poczym od razu godzina sie zmienia??
ze sie troszke brzydko wyraze WTF?
co jest nie tak? i dalczego dostaje różne wyniki na serwerze domowym a inne na dedykowanym?
Go to the top of the page
+Quote Post
kefirek
post 14.02.2009, 12:58:49
Post #2





Grupa: Zarejestrowani
Postów: 781
Pomógł: 256
Dołączył: 29.06.2008

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


A nie prosciej tak
  1. <?php
  2. $data = '1234634396';
  3. echo strftime('%Y-%m-%d %H:%M:%S', $data);
  4. ?>


Albo odrazu na bazie danych

  1. SELECT FROM_UNIXTIME(pole z dat&#261;) AS data FROM tabela;


Nie wiem czy o takie cos chodzi ale zobacz tak
  1. <?php
  2. $data = '1234634396';
  3. for($i=-100;$i<100;$i++)
  4. {
  5. $data1= $data + $i;
  6. echo $data +  $i.' '.strftime('%Y-%m-%d %H:%M:%S', $data1).'<br>';
  7. }
  8. ?>


Ten post edytował kefirek 14.02.2009, 13:23:12
Go to the top of the page
+Quote Post
tmgryf
post 14.02.2009, 13:24:53
Post #3





Grupa: Zarejestrowani
Postów: 79
Pomógł: 1
Dołączył: 14.02.2009

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


działa działa już teraz, ale czemu mój kod generował takie dziwne rzeczy? i czemu dawał różne wyniki na różnych maszynach? czytalem ze date wrazie braku drugiego argumentu bierze time() moze moj argument byl jakis lewy?
Go to the top of the page
+Quote Post
maly_swd
post 14.02.2009, 14:20:02
Post #4





Grupa: Zarejestrowani
Postów: 744
Pomógł: 118
Dołączył: 14.02.2009
Skąd: poziome

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


Twoj blad uzywasz literki m-ktora oznacza miesiac (stad ta 2 w minutach). Minuty powinny byc oznaczone malym i

masz:
echo date('Y-m-d G:m:s',1234634396+$i);

powinno byc:
echo date('Y-m-d G:i:s',1234634396+$i);

pozdrawiam


--------------------
śmieszne obrazki
Kryzys: Ser jem spleśniały, wino piję stare i samochód mam bez dachu..
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: 19.07.2025 - 12:12