Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Sprawdzanie poprawności daty
Forum PHP.pl > Forum > Przedszkole
lygmunt
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.
mike
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.
crash
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)?
mike
~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).
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.