Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Sprawdzanie daty, jw
miras
post
Post #1





Grupa: Zarejestrowani
Postów: 1 004
Pomógł: 9
Dołączył: 18.01.2011
Skąd: Siedlce

Ostrzeżenie: (30%)
XX---


Witam, potrzebuję sprawdzić czy od danej daty minęły już 24h - mam coś takiego:

$this->wyn[0]['date'] = 2015-02-13 05:00:00

  1. $this->test = strtotime(date("Y-m-d H:i:s")) - strtotime($this->wyn[0]['date']);
  2. if (date("H",$this->test)>24) {
  3. $this->ret = true;
  4. } else {
  5. $this->ret = false;
  6. }


i skrypt zwraca mi, że minęło dopiero 11h (tak jakby nie brał pod uwagę dni, miesięcy i lat - tylko godziny) jak temu zaradzić?


Dzięki z góry!
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




strtotime(date("Y-m-d H:i:s")) - strtotime($this->wyn[0]['date']);
wynikiem tego jest liczba sekund. nie mozesz wiec na tym robic date('H'.....

Ile sekund masz w godzinie? 3600. To sobie teraz podziel i bedziesz mial liczbe godzin.
Go to the top of the page
+Quote Post
Aqu
post
Post #3





Grupa: Zarejestrowani
Postów: 279
Pomógł: 58
Dołączył: 14.07.2012

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


  1. date("H",$this->test)>24

sprawdzasz tutaj która była godzina w jakimś czasie (w formacie unixtime), a nie przeliczas sekundy na godziny.

  1. $data1 = strtotime('2015-01-13 05:00:00'); // unixtime pierwszej daty
  2. $data2 = strtotime('2015-02-13 05:00:00'); // j.w drugiej daty
  3.  
  4. $sec = $data2 - $data1; // liczba sekund pomiędzy wydarzeniami
  5. $hours = $sec/3600; // liczba godzin


Ten post edytował Aqu 16.02.2015, 15:54:01
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 23.08.2025 - 10:11