Ich arbeite an einem Cron-Job, der Berichte an Hunderte von Benutzern auf der ganzen Welt sendet. Der Cron sollte genau um 12:00 Uhr morgens eine E-Mail an alle meine Benutzer senden, entsprechend ihrer Zeitzone. Vielen Dank im VorausWie bestimmen Sie, welche Zeitzone gerade um 12 Uhr ist?
Antwort
Your Time | Timezone You Need
-----------------------------
12:00am 0
1:00am -1
2:00am -2
3:00am -3
4:00am -4
5:00am -5
...
12:00pm +/- 12
1:00pm +11
2:00pm +10
3:00pm +9
...
------------------------------
Sie sollten die Muster sehen beginnen können, hier zu entwickeln. Das Muster sollte etwa so aussehen wie Zeitzonenunterschied = (12 - Ihre aktuelle Stunde)
Herauszufinden, was Zeitzone Sie sind in:
time("O");
Abbildung heraus, was die Zeit ist, wo Sie sind:
time("H:i")
etwas Magie Sie herauszufinden, ob Sie mit dem Hinzufügen werden soll oder subtrahieren Sie die Zeit bis Mitternacht, dann addieren Sie oder subtrahieren Sie die Differenz zwischen Ihrer Zeit und Mitternacht, um die Zeitzonendifferenz zu erhalten, und fügen Sie sie Ihrer eigenen Zeitzone hinzu. Voila.
Edit: See @ TheTXI Antwort für die ‚Magie‘ beteiligt
Sie müssen eine Liste der in welche Zeitzone alle Benutzer in + sind, ob sie die Sommerzeit verwenden oder nicht.
Eine vollständige Liste von Zeitzonen sehen diese wikipedia article
alle 15 Minuten, die Sie dann brauchen Offset ein Skript für alle Benutzer in der aktuellen Zeitzone haben cron.
z.B. bei UTC + 5.45 Ihre E-Mails an alle Benutzer in der „Kathmandu“ Zeitzone senden
+1 für die Suche nach Benutzern in Kathmandu! –
nicht nur Kathmandu, Teheran ist +3: 30, Adelaide und Darwin in Australien sind +9: 30, Delhi und Mumbai sind +5: 30. Grundsätzlich sind Zeitzonen normalerweise in Schritten von 15 Minuten. Im Grunde ist das Zeitzonen-Handling auch nervig! – Glen
Yup, ich glaube mich daran zu erinnern, dass der Leiter eines Landes zufällig im letzten Jahr seine Zeitzone durch Diktat geändert hat - nicht sicher, wie ernst diese Änderung von Leuten genommen wurde, die sich um Zeitzonen kümmern! Mit anderen Worten, ich weiß nicht, wo es heißt, dass Zeitzonen auf 15-Minuten-Grenzen liegen müssen. –
- 1. Android ImageButton - Bestimmen, welche Ressource gerade eingestellt ist
- 2. Ist eine bestimmte Zeitzone gerade Sommerzeit?
- 3. T-SQL: Wählen Sie den Datumsbereich vom letzten Freitag um 12:30 Uhr bis Montag um 330 Uhr
- 4. Formatierungszeit 12 Stunden Uhr für MYSQL
- 5. Bestimmen Sie, welche DateTimePattern Muster joda verwendet wurde
- 6. Bestimmen Sie, welche Taste gedrückt wurde?
- 7. Bestimmen, welcher Abschnitt gerade angesehen wird
- 8. Zeit Umwandlung in Java für 12:00 Uhr
- 9. Bestimmen Sie, welche Wochentag jeweils der Tag des Monats ist
- 10. Bestimmen Sie, welche Krankheit zusammen Cluster
- 11. Wie sehen Sie, welche Winkelmesser-Tests gerade ausgeführt werden?
- 12. Bestimmen Sie, welche .NET-Assembly eine andere
- 13. Wie formatiert Zeit 12:00:00 oder 12: 00: morgens bis 00:00 Uhr?
- 14. Bestimmen Zeitzone Offset in T-SQL
- 15. Wie starte ich meine Android-App um 12:00 Uhr jeden Tag, auch wenn App geschlossen ist
- 16. Wie bestimmen Sie, welche SQL-Tabellen eine Identitätsspalte programmgesteuert haben
- 17. Welche Zeitzone folgt MySQL NOW()
- 18. Log auf welche Seite der Benutzer gerade ist
- 19. Welche Zeitzone zeigt Date.toString() an?
- 20. Bestimmen Sie, ob der resultierende Wert einer Funktion gerade oder ungerade ist
- 21. Cron-Ausdruck (Quartz) für ein Programm, das jeden Mitternacht um 12:00 Uhr ausgeführt wird
- 22. Termine in SQL Server konsequent um 12 Stunden
- 23. Welche Zeitzone/welches Format verwendet die IIS AppPool-Recyclingzeit?
- 24. Vergleiche Summen von Werten innerhalb Array, um zu bestimmen, welche die größte ist
- 25. Welche Bedeutung hat der 12. Oktober 1999?
- 26. Welche Regeln bestimmen, ob ein Objekt trivial kopierbar ist
- 27. Welche Zeitzone verwendet Django in DateFields auto_now_add?
- 28. Newsletter senden, um 9:00 Uhr an Benutzer in ihre Lokale Zeitzone
- 29. ASP.NET - Bestimmen Sie, welcher Menüpunkt ausgewählt ist
- 30. AngularJS: Bestimmen Sie, welche Richtlinie erzeugt das Element
Vergessen Sie nicht alle Orte, die 15, 30 und 45 Minuten Offsets sowie – Glen
verwenden Danke, Sie haben geholfen, in einer anderen Perspektive zu denken. Ich denke statt der Mathearbeit, die sehr verwirrend ist. Ich werde nur für jede Stunde meiner Zeitzone Anweisungen für jede Zeitzone programmieren. – drikoda
Guter Punkt Glen. Und drikoda, ich habe mich nicht wirklich dafür ausgesprochen, hineingehen und alles hart programmieren zu müssen, sondern eine große und gründlich genug Liste oder Datenbanktabelle (einschließlich der Aufteilung in 15-Minuten-Schritten statt der einen Stunde wie ich getan habe)), aber wenn das der beste Weg für dich ist, es zu tun, ohne dich selbst töten zu wollen, dann sei es so. – TheTXI