Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] graniczne daty
lnn
post 23.04.2009, 09:13:38
Post #1





Grupa: Zarejestrowani
Postów: 361
Pomógł: 11
Dołączył: 17.12.2008
Skąd: LU

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


Mam problem z zablokowaniem poczatkowej daty kiedy nie bedzie mozliwe np potwierdzenie
mam taki kod
  1. <?php
  2. $data = date ("d-m-Y, G:i"); // aktualna data
  3. $data_poczatek = date ("22-04-2009, 00:45"); // data poczatku promocji
  4. $data_koniec = date ("28-04-2009, 21:02"); // data konca promocji
  5.  
  6.  
  7. if ($data <= $data_poczatek ) {
  8.    echo "promocja sie jeszcze nie zaczela";
  9. }
  10. elseif ($data >= $data_koniec) { // sprawdza date konca promocji
  11.    echo 'Koniec promocji!'; }// komunikat w przypadku przekroczenia daty promocji
  12.    else {
  13.        echo "data rozpoczaecia i zakonczenia ok";
  14.    }
  15. ?>

i cos mi nie dziala sprawdzanie poczatkowej ;/ wie ktos w czym tkwi blad?

Ten post edytował lnn 23.04.2009, 09:16:40
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 11)
nospor
post 23.04.2009, 09:16:20
Post #2





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




to co teraz robisz to porownanie tekstu.
zamien sobie to na unixowy znacznik czasu i wtedy porownuj juz jako liczba

po zatym nie
=>
a:
>=


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
lnn
post 23.04.2009, 09:17:33
Post #3





Grupa: Zarejestrowani
Postów: 361
Pomógł: 11
Dołączył: 17.12.2008
Skąd: LU

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


Cytat(nospor @ 23.04.2009, 10:16:20 ) *
zamien sobie to na unixowy znacznik czasu i wtedy porownuj juz jako liczba

yyy a tak po polskiemu?
Go to the top of the page
+Quote Post
skowron-line
post 23.04.2009, 09:21:07
Post #4





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

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


Cytat(lnn @ 23.04.2009, 08:17:33 ) *
yyy a tak po polskiemu?

po polskiemu to bedize jakos "weż odpal google i wpissz porównywanie dat"
albo php.net -> strtotime.


--------------------
I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy.

QueryBuilder, Mootools.net, bbcradio1::MistaJam
http://www.phpbench.com/
Go to the top of the page
+Quote Post
kefirek
post 23.04.2009, 10:22:56
Post #5





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

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


Użyj
strtotime" title="Zobacz w manualu PHP" target="_manual
oraz
time" title="Zobacz w manualu PHP" target="_manual

I potem sprawdzaj daty
Go to the top of the page
+Quote Post
lnn
post 26.04.2009, 22:14:28
Post #6





Grupa: Zarejestrowani
Postów: 361
Pomógł: 11
Dołączył: 17.12.2008
Skąd: LU

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


nie wiem czy dobrze zrozumieliscie o co mi chodzi smile.gif
mam 3 daty
1 - aktualna
2 - poczatek
3 - koniec

skrypt ma sprawdzac:
1) czy aktualna data nie jest mniejsza od poczatkowej
2) czy aktualna data nie jest wieksza od koncowej
3) jesli spelnia te 2 warunki to skrypt cos tam wykonuje

chodzi o to zeby to zastosowac do jakiejs promocji ograniczonej granicznymi datami - poczatku i konca, nie bardzo wiem od czego zaczac ;/
Go to the top of the page
+Quote Post
skowron-line
post 26.04.2009, 22:20:04
Post #7





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

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


zamień sobie daty na liczbe senkund i porównaj która jest od której większa i już wszystko co jest Ci potrzebne dostałeś już w postach wyżej.


--------------------
I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy.

QueryBuilder, Mootools.net, bbcradio1::MistaJam
http://www.phpbench.com/
Go to the top of the page
+Quote Post
lnn
post 26.04.2009, 22:22:32
Post #8





Grupa: Zarejestrowani
Postów: 361
Pomógł: 11
Dołączył: 17.12.2008
Skąd: LU

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


zrobilem cos takiego, niby dziala, ale ocencie sami
  1. <?php
  2. $data = date ("d-m-Y, G:i"); // aktualna data
  3. $data_poczatek = date ("27-04-2009, 00:45");
  4. $data_koniec = date ("28-04-2009, 23:02"); // koniec
  5.  
  6. if ($data < $data_poczatek) {
  7.    echo 'promocja sie nie rozpoczela';
  8. }
  9. elseif ($data > $data_koniec) {
  10.    echo 'koniec promocji ';
  11. }
  12. else {
  13.    echo 'wykonaj';
  14. }
  15.  
  16. ?>


Ten post edytował lnn 26.04.2009, 22:24:50
Go to the top of the page
+Quote Post
#luq
post 26.04.2009, 22:23:49
Post #9





Grupa: Zarejestrowani
Postów: 589
Pomógł: 91
Dołączył: 22.05.2008
Skąd: Gliwice

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


Słuchaj nospor`a
Cytat
zamien sobie to na unixowy znacznik czasu i wtedy porownuj juz jako liczba


mktime" title="Zobacz w manualu PHP" target="_manual


--------------------
Moja gra - scraby.io
Go to the top of the page
+Quote Post
bogdan89
post 26.04.2009, 22:23:58
Post #10





Grupa: Zarejestrowani
Postów: 320
Pomógł: 36
Dołączył: 28.08.2006
Skąd: Wrocław

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


  1. <?php
  2. if ((strtotime($aktualna) >= strtotime($poczatkowa)) && (strtotime($aktualna) <= strtotime($koncowa)))
  3. {
  4.    //ok
  5. }
  6. else
  7. {
  8.    //data aktualna nie jest w przedziale
  9. }
  10. ?>
Go to the top of the page
+Quote Post
lnn
post 26.04.2009, 22:34:09
Post #11





Grupa: Zarejestrowani
Postów: 361
Pomógł: 11
Dołączył: 17.12.2008
Skąd: LU

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


dzieki dziala smile.gif

jeszcze male pytanko, jesli chce zeby to
  1. <?php
  2. if (!(strtotime($data) >= strtotime($data_poczatek)) && (strtotime($data) <= strtotime($data_koniec))) {
  3. ?>

zwracalo blad to ten "!" bedzie zaprzeczal cale wyrazenie? tongue.gif

pytam dlatego ze sprawdza mi ta instrukcja jeszcze inne rzeczy oprocz daty smile.gif i tu chcialbym zeby tylko blad wyskakiwal a w przypadku jesli jest ok zeby przechodzilo do sprawdzania kolejnego warunku..
Go to the top of the page
+Quote Post
#luq
post 26.04.2009, 22:51:27
Post #12





Grupa: Zarejestrowani
Postów: 589
Pomógł: 91
Dołączył: 22.05.2008
Skąd: Gliwice

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


Musisz zanegować wszystko, tzn.
  1. <?php
  2. if ( !( ( strtotime($data) >= strtotime($data_poczatek) ) && ( strtotime($data) <= strtotime($data_koniec) ) ) )
  3. ?>


--------------------
Moja gra - scraby.io
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: 14.08.2025 - 13:27