Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: porównywanie dat
Forum PHP.pl > Forum > Przedszkole
makeiteasy
mam zapisaną datę powiedzmy w formacie dd-mm-rrrr.
dajmy na to ze jest to 01-01-2000(nazwijmy ją postawową) winksmiley.jpg.
chciałbym, żaby dany rekord wyświetlał się co 4 miesiące (przez cały miesiąc) - w tym wypadku przez cały styczeń, kwiecień itd.
te 4 miesiące to tylko dla przykładu bo w opcjach bedzie też co 3, 6 lub 12 winksmiley.jpg

wymyśliłem coś takiego:

data aktualna -(minus) data podstawowa :(dziel) 3,4,6 lub 12(miesięcy)
i jezeli wynik to będzie liczba całkowita to wyświetla w danym miesiącu.
do porównań to chyba miesiąc i rok tylko się nadają.

czy to moze dzialac??

i jak ugryźć porównywanie tych dat - w życiu nie miałem z tym do czynienia.
luinnar
użyj tzw uniksowego znacznika czasu
dodaj ilość odpowiednią sekund (równą miesiącowi, 2 miesiącom itp) do daty utworzenia i sprawdź czy jest większa od aktualnej
przydatne funkcje time" target="_blank, mktime" target="_blank
makeiteasy
Dzięki za odpowiedź.
Rzeczywiscie takie rozwiązanie to nawet rozważałem.
Nie napisałem jedak że to wyświetlanie to ma być cykliczne, tzn. co 3,4,6 lub 12 miesięcy w kółko winksmiley.jpg
I tu własnie powstaje problem. Zastanawiałem się czy nie zrobić np. pola z data ostatniego wyswietlenia i do tego dodawać odpowiednia ilość sekund, ale to rozwiazanie nie wydaje sie byc praktyczne winksmiley.jpg
s_w_ir
Chwila, nie rozumiem. Chcesz raz na 3,6,12 miesięcy wyświetlić datę? Czy ma sie ona wyświetlać przez np. 3 miechy. Przedstaw zatosowanie tego skryptu - łatwiej pomóc.
makeiteasy
Skrypt zarządzający okresowym przydziałek ubiorów roboczych aarambo.gif

Wchodząc w zakładkę "raport miesięczny" ma wyświetlić się lista pracowników którzy w danym miesiącu mają otrzymać "coś".
Jest to obliczane w następujący sposób:
np.
3 miesiące od daty przyjęcia ma dostac np. koszulę, i następnie znowu za 3 i tak dalej,
4 miesiące od daty przyjęcia ma dostać np. kurtkę, i następnie znowu za 4 i tak dalej.

"Na upartego" to coć da się wymyślić przy pomocy np. aktualizowania pola z data ostatniego pobrania, ale nie wydaje mi sie to profesjonalne
scanner
Powinieneś miec pole z timestampem, gdzie system wpisuje date ostatniego zdarzenia.
Bo jeśłi facet dostał nowa koszulę trzy dni przed upływem terminu, to kolejny termin liczy się nie od końca terminu, tylko od dnia otrzymania koszuli. (Jeśłi dobrze pamietam - nie mam czasu sprawdzić).

baza danych przyjmie wszystko a pewna nadmiarowośc danych jest na pewno wskazana.
Jabol
albo zrób sobie dzielenie z resztą. Jeżeli MONTH(X)%{CO ILE} = MONTH(CURRENT)%{CO ILE} to...
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.