Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Znajdowanie daty do 30 minut wstecz.
benzulli
post
Post #1





Grupa: Zarejestrowani
Postów: 112
Pomógł: 0
Dołączył: 3.07.2013

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


Witam.

Mam około 100 wierszów w tabeli, które co chwile się aktualizują (od 1-8 godzin), aktualizacja następuje losowo. Data występuje w takim formacie przy każdym wersie: Apr 08 2014, 01:56:24 CEST.

Moje pytanie - czy da się zrobić, aby php w jakiś sposób wskazał tę datę, która została akurat zawiera czas dodany np. do 30 minut temu? Albo czy da się ustawić te daty w kolejności od najstarszej do najmłodszej bądź na odwrót bez dodawania do bazy SQL? Dodam, że dane pobieram za pomocą cURLa.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
benzulli
post
Post #2





Grupa: Zarejestrowani
Postów: 112
Pomógł: 0
Dołączył: 3.07.2013

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


  1. $nejm = '<span style="text-transform:capitalize; font-family:Verdana, sans-serif; font-size:8px:">'.$row['name'].'</span>';
  2.  
  3. $lt = str_replace(array('505050', 'D4C0A1', 'F1E0C6'), array('c1b158', '61bf7a', '61bf7a'), $wyjsciowa);
  4. $las = str_replace('Character Deaths', $nejm, $lt);
  5. $last = str_replace('+', ' ', $las);
  6.  
  7. preg_match('@"top" >(.*?)T</td@', $wyjsciowa, $czas);
  8.  
  9. $data = str_replace(array('"top" >', '</td'), '', $czas[0]);
  10.  
  11. $data2 = "Apr 28 2014, 19:52:31 CEST";
  12.  
  13. if(strtotime($data2) >= strtotime('now - 600 minutes'))
  14. {
  15. echo str_replace('61bf7a', 'ca7a7a', $last);
  16. }
  17. else echo $last;
  18.  
  19. }


Dam datę sztywną w zmiennej - działa.

*****

Dam datę w zmiennej pobieranej z cURLa - nie działa:

  1. $nejm = '<span style="text-transform:capitalize; font-family:Verdana, sans-serif; font-size:8px:">'.$row['name'].'</span>';
  2.  
  3. $lt = str_replace(array('505050', 'D4C0A1', 'F1E0C6'), array('c1b158', '61bf7a', '61bf7a'), $wyjsciowa);
  4. $las = str_replace('Character Deaths', $nejm, $lt);
  5. $last = str_replace('+', ' ', $las);
  6.  
  7. preg_match('@"top" >(.*?)T</td@', $wyjsciowa, $czas);
  8.  
  9. $data = str_replace(array('"top" >', '</td'), '', $czas[0]);
  10.  
  11. if(strtotime($data) >= strtotime('now - 600 minutes'))
  12. {
  13. echo str_replace('61bf7a', 'ca7a7a', $last);
  14. }
  15. else echo $last;
  16.  



echo $data; - działa; echo strtotime($data); - nie działa.

Nie wiem już na prawdę, wszystko wydaje się być dobrze - czy nie można stosować str_replace? Muszę to zastosować, gdyż tylko tak wyciągnę datę.

Dokładnie to wyskakuje, gdy
  1. echo $data;

Apr 28 2014, 15:33:14 CEST

Gdy
  1. echo strtotime($data);
wtedy nic nie wyskakuje.

Ten post edytował benzulli 28.04.2014, 22:02:41
Go to the top of the page
+Quote Post

Posty w temacie


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: 18.10.2025 - 09:17