Translations:ExpressionScript examples/110/pl
From LimeSurvey Manual
Cel | Obliczenie różnicy między dwiema datami |
Typ | Trafność / Typ pytania równania / Walidacja |
Przykład | Pytanie pierwsze (data/godzina, kod: DOB): Jaka jest Twoja data urodzenia? Pytanie drugie (data/godzina, kod: datetoday): Jaki jest dzisiaj dzień? Pytanie trzecie (schemat): Masz XXXX dni. Sposób wykonania: Oblicz i wyświetl liczbę dni pomiędzy datą podaną w pytaniu 1 a pytaniem 2. |
Wyrażenie | {(strtotime(datetoday)-strtotime(DOB))/60/60 /24} |
Opis | strtotime oblicza liczbę sekund pomiędzy 1 stycznia 1970 r. a podaną datą. Powyższe wyrażenie oblicza liczbę sekund pomiędzy dwiema podanymi datami. Termin „/60/60/24” po prostu oblicza liczbę dni na podstawie liczby sekund. Zamiast pytać o „data dzisiaj”, możesz także użyć strtotime('now') lub po prostu time(), które bezpośrednio zwraca liczbę sekund od stycznia 1970 r. do chwili obecnej (tzn. czas wypełnienia ankiety). W ten sposób można szybko obliczyć wiek osoby w latach za pomocą równania {(time() - strtotime(DOB)) / 60 / 60 / 24 / 365,25} W każdym z tych przypadków istotne jest wprowadzenie daty w odpowiednim formacie, w przeciwnym razie funkcja strtotime() nie będzie działać poprawnie. |
Kroki | Utwórz dwa pytania dotyczące daty (dla daty urodzenia i dzisiejszej daty) oraz pytanie standardowe. W tekście pytania standardowego pytania wstaw: „W dniu {datetoday} miałeś {(strtotime(today)-strtotime(dob))/60/60/24} dni i dni.” Uwaga: funkcja strtotime może współpracować z WIELU, ale nie wszystkimi formatami daty. Jeśli napotkasz problemy, ustaw format daty ankiety na mm/dd/rrrr lub rrrr-mm-dd lub dd.mm.rrrr" |
Przykładowy plik | Różnica_daty.zip |
Plik:Przykład_różnicy_daty.png |