Почему Java возвращает дату в GMT-4.5 при выборе часового пояса Co-ordinated Universal Time в Windows?

cint является командным процессором для аналитического пакета физики элементарных частиц КОРЕНЬ . Я регулярно использую его, и это работает очень хорошо на меня.

Это довольно завершено и ладит со скомпилированным кодом (можно загрузить скомпилированные модули для использования в интерпретаторе...)

последнее редактирование:: Скопированный с более позднего дубликата, потому что плакат на этом вопросы, казалось, не хотел отправить здесь: igcc. Никогда не пробовал его лично, но веб-страница выглядит многообещающей.

5
задан Simon Nickerson 13 November 2009 в 10:07
поделиться

2 ответа

Он распечатывает его с использованием часового пояса по умолчанию. Ваша тема говорит о "выборе" UTC, но я не вижу такого выбора в вашей программе. Если вы выбрали его в другом месте, укажите подробные сведения о , где именно . Если вы изменили часовой пояс XP, вы можете попробовать перезагрузиться - возможно, ваш Java-код откуда-то получает кэшированное значение.

Распечатайте java.util.TimeZone.getDefault и Я подозреваю, что вы увидите VET на машинах с проблемой.

Если вы хотите, чтобы ваш код использовал UTC, вы должны указать это явно ... предпочтительно, используя Joda Time вместо встроенного Дата / Календарь классы.

РЕДАКТИРОВАТЬ: Если у вас есть .NET 3.5 на тех же машинах, попробуйте эту небольшую программу, чтобы увидеть, она считает часовой пояс:

using System;

class Test
{
    static void Main()
    {
        Console.WriteLine(TimeZoneInfo.Local.DisplayName);
    }
}
0
ответ дан 15 December 2019 в 06:29
поделиться

У меня такая же проблема в Unix / Solaris. Команда date использует переменную Time / Zome при таких командах, как «date -u 042315232010». Если вы используете параметр -u, в дате команды используйте переменную с именем TZ, и она выполняет процедуру корректировки времени GMT относительно времени в TZ. Чтобы решить эту проблему, используйте команду «дата 042315232010», и все сработало. Возможно, вам следует избегать предложений TimeZone в вашей программе на Java. Кстати «дата 042315232010» означает «Пт 23 апр, 15:23:00 VET 2010».

0
ответ дан 15 December 2019 в 06:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: