0 votes
in SoSci Survey (dt.) by s227471 (195 points)

Guten Tag,

Unser Befragungsprojekt läuft über zwei Wochen. Dabei werden zu Beginn individuelle Versandzeitpunkte für 30 Serienmails mithilfe eines PHP-Codes bestimmt und gespeichert. Wir fragen uns nun, wie SoSci mit Zeitumstellungen umgeht: Werden die bereits bestimmten Versandzeitpunkte automatisch angepasst?

Vielen Dank!

by SoSci Survey (308k points)
Welche Zeitumstellung genau meinen Sie? Die anstehende Umstellung von der Sommerzeit auf Normalzeit?
by s227471 (195 points)
Entschuldigung - genau, ich meine die Umstellung von der Sommerzeit auf die Normalzeit.

1 Answer

0 votes
by SoSci Survey (308k points)

ich meine die Umstellung von der Sommerzeit auf die Normalzeit.

SoSci Survey arbeitet intern mit Unix-Zeitstempeln. Diese beziehen sich immer auf die universelle Zeit UTC (effekti ist das Greenwich Normalzeit).

Wenn ich mich nicht verlesen habe, dann wird in Deutschland am Sonntag, den 29. Oktober 2023 wieder auf Normalzeit umgestellt.

Wann immer Sie mit Sekunden rechnen, sind das wirklich Zeitabstände. Wenn Sie also am Sa, 28. Oktober um 10 Uhr (Sommerzeit) sagen, dass die nächste E-Mail in 24 Stunden verschickt werden soll, dann wird diese am So, 29. Oktober um 9 Uhr (Normalzeit) verschickt. Nämlich genau 24 Stunden später.

Wann immer Sie mit Zeitangaben arbeiten, dann beachtet strtotime() dabei eine eventuelle Zeitumstellung in der Zeitzone. Wenn Sie also im Projekt die Zeitzone Berlin eingestellt haben, und am Sa, 28. Oktober um 10 Uhr (Sommerzeit) sagen, dass die E-Mail am nächsten Tag um 10 Uhr verschickt werden soll (strtotime('tomorrow 10:00:00'), dann wird die E-Mail am So, 29. Oktober um 10 Uhr (Normalzeit) verschickt.

Insofern also die Rückfrage: Was genau haben Sie im PHP-Code geschrieben?

by s227471 (195 points)
Im PHP-Code haben wir mit Sekunden gearbeitet, wenn ich die beiden Optionen richtig verstehe. Z.B.: $tmail_t1 = date("d.m.y H:i:s", $mail_t1)
Jedoch wird die Serienmail nicht nach einem bestimmten Zeitabstand versendet. Im Fragebogen wird die teilnehmende Person gefragt, zu welchen Uhrzeiten sie Nachrichten empfangen kann. Genauer gesagt geben Schüler*innen an, wann sie an welchem Wochentag Schulschluss haben und zu welcher Uhrzeit sie üblicherweise ins Bett gehen. Innerhalb dieser erfragten Zeiträume generiert der Code dann individuelle Uhrzeiten für die einzelnen Wochentage, zu denen die Serienmails versendet werden. Diese Uhrzeiten kann ich unter anderem einsehen, wenn ich zu den Serienmails gehe. Vermutlich ändert sich der Versandzeitpunkt dann aber nicht mit der Umstellung auf die Normalzeit, sondern für bspw. Sonntag, den 30.10., bleibt dann 13:00:00 Uhr als Uhrzeit bestehen?
by SoSci Survey (308k points)
Wenn dort jetzt der 30.10. um 13 Uhr steht, dann bleibt das auch nach dem 29. Oktober der 30.10. um 13 Uhr. Wäre ja seltsam, wenn sich das spontan ändern würde ;)

> $tmail_t1 = date("d.m.y H:i:s", $mail_t1)

Das ist nur die Umformatierung von einem Unix-Zeitstempel auf eine lesbare Zeit. Die Frage ist hier, wo $mail_t1 herkommt?
by s227471 (195 points)
Ich habe den Code noch einmal umgeschrieben. $tmail_t1 kommt nun hieraus zustande:

$start = strtotime(date('Y-m-d', $currentDay) . " " . $timeframes[$key]['start']);
$end = strtotime(date('Y-m-d', $currentDay) . " " . $timeframes[$key]['end']) - $buffer;
(...)
$timestamps[] = getRandomTime($intervalStart, $intervalEnd);
(...)
$tmail_t1 = date("d.m.y H:i:s", $timestamps[$i*3+0]);
by SoSci Survey (308k points)
Das sieht m.E. so aus, dass hier im ersten Schritt mit Texten als Uhrzeiten gerarbeitet wird - allerdings jeweils am aktuellen Tag. Wenn der Versand am aktuellen Tag noch erfolgen soll, dann sollte dies unabhängig von der Zeitumstellung funktionieren.

Willkommen im Online-Support von SoSci Survey.

Hier bekommen Sie schnelle und fundierte Antworten von anderen Projektleitern und direkt von SoSci Survey.

→ Eine Frage stellen


Welcome to the SoSci Survey online support.

Simply ask a question to quickly get answers from other professionals, and directly from SoSci Survey.

→ Ask a Question

...