Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP/SQL]
Forum PHP.pl > Forum > PHP
tmgryf
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?
kefirek
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. ?>
tmgryf
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?
maly_swd
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
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.