Actions

Translations

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