Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Sprawdzanie poprawności daty
lygmunt
post 18.01.2006, 10:24:32
Post #1





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 22.12.2004

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


Chodzi o sprawdzenie poprawności daty. Użytkownik wprowadza date jako tekst np. w formacie rrrr-mm-dd , i php powinno sprawdzic czy data zostala wprowadzona poprawnie,tzn. np. zeby nie mozna bylo wprowadzic daty : 2006-02-30 , czy jest jakas funkcja w php , ktora konwertowalaby stringa do daty , tak ze np. przy konwersji tego stringa : '2006-02-30' wystapily blad, badz funkcja zwroci false ze konwersja sie nie powiodla.
Probowalem skorzystac z strtotime i date , ale nie wyszlo ;(
robilem to tak:

$timestamp = strtotime('2006-02-30'); //lub tak : $timestamp = strtotime('20060230')
echo date('Y.m.d',$timestamp);

dziekuje za pomoc.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
mike
post 18.01.2006, 10:35:37
Post #2





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


Przecież to raprem kilka funkcji z manuala.

checkdate()
A do wyciągnięcia poszczególnych składowych daty zastosuj substr()

Przenoszę na php Pocz.

A poza tym:
1. Temat poprawności daty był już poruszany.
2. strtotime()
Cytat
Funkcja przyjmuje tekst zawierający datę w formacie angielskim i stara się przeliczyć ją na uniksowy znacznik czasu, relatywnie do znacznika czasu podanego w teraz, lub aktualnego czasu, jeśli znacznik nie zostanie podany. W przypadku fiaska, zwracane jest -1.
Go to the top of the page
+Quote Post
crash
post 18.01.2006, 10:37:58
Post #3





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

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


A czemu data 2006-02-30 miałaby być niepoprawna? Chodzi Ci o to, że "wybiega" w przyszłość? Czy o zwykłe sprawdzenie składni (preg_match" title="Zobacz w manualu php" target="_manual + checkdate" title="Zobacz w manualu php" target="_manual)?


--------------------
Go to the top of the page
+Quote Post
mike
post 18.01.2006, 10:49:05
Post #4





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


~crash luty nie ma 30-tu dni.
Tu chodzi o sprawdzenie czy taka data istnieje czy to przeszłość, czy przyszłość oraz czy jest poprawna (format).
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 - 06:47