Преобразование выражения cron из одного часового пояса в другойJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Преобразование выражения cron из одного часового пояса в другой

Сообщение Anonymous »

Я ищу способ конвертировать выражение cron из одного часового пояса в другой часовой пояс.
Например, пользователь моего веб-клиента — GMT+1200, а серверная часть — GMT+0800, хотя пользователь устанавливает 02:10 для выполнения задачи каждый вторник и четверг, выражение cron будет 0 10 2 3,5 * ?, и я использовал код, как показано ниже, он может получить текущее время срабатывания для часового пояса пользователя

Код: Выделить всё

CronExpression expr = new CronExpression("0 10 2 3,5 * ?");

System.out.println(expr.getNextValidTimeAfter(new Date()));
System.out.println(expr.getTimeZone());
System.out.println(expr.getExpressionSummary());
System.out.println("=======");
TimeZone tz = TimeZone.getTimeZone("GMT+1200");
expr.setTimeZone(tz);
System.out.println(expr.getNextValidTimeAfter(new Date()));
System.out.println(expr.getTimeZone());
System.out.println(expr.getExpressionSummary());
GetNextValidTimeAfter напечатает понедельник 2 февраля 22:10:00 CST 2015, который после setTimeZone(tz);, однако getExpreesionSummary< /code> или даже getCronExpression() по-прежнему будет 0 10 2 3,5 * ?, где я хочу получить строку, будет 0 10 22 2,4 * ?, а затем Я могу сохранить в БД для следующего запуска, а также другого пользователя часового пояса для запроса настроек (конечно, для этого потребуется преобразовать 0 10 22 2,4 * ? в часовой пояс этого пользователя)
Любая помощь приветствуется

Подробнее здесь: https://stackoverflow.com/questions/282 ... nother-one
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»