Я собираюсь настроить и управлять некоторыми заданиями cron для пользователей из разных часовых поясов.Одним из возможных способов настройки является запуск задачи в определенные дни недели в определенное время, например:
On Sat,Sun at 22:00 AM
Для каждого пользователя у меня есть часовой пояс (например, 'America/New_York'
, 'Europe/Berlin'
и т. Д.).Итак, как лучше всего преобразовать день недели и время в другой часовой пояс (часовой пояс моего сервера) для настройки задания cron.
$date = new DateTime("this saturday 22:00", new DateTimeZone('America/New_York'));
$beforeConversion = [
"dayOfWeek" => $date->format('D'), // Sat
"time" => $date->format('H:i') // 22:00
];
$date->setTimezone(new DateTimeZone('UTC'));
$beforeConversion = [
"dayOfWeek" => $date->format('D'), // Sun
"time" => $date->format('H:i') // 02:00
];
Я пришел с кодом, представленным выше.Это лучший и оптимальный способ делать подобные вещи в PHP?