Я пытаюсь преобразовать значение даты строки в java на дату и попытаться сохранить его в таблице mysql.Проблема с часовым поясом Java & MySQL
Ниже фрагмент кода:
DateFormat dfm = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");
String string = "07/24/2013 17:57:52 UTC";
Date a = dfm.parse(string);
System.out.println(a);
Моя проблема заключается в том, что приведенный выше код всегда возвращает следующий вывод на консоль: ср 24 июл 17:57:52 PDT 2013
Я не» я знаю, почему часовой пояс меняется, более того, когда я пытаюсь поместить это в базу данных, тогда он хранит его в формате «2013-07-24 17:57:52». Я не уверен, почему приведенный выше код возвращает мне часовой пояс в PDT?
Можете ли вы, ребята, объяснить мне это? Мое намерение заключается в сохранении даты UTC, которая появится как вход и сохранит ее в поле timestamp MySQL.
Спасибо заранее.
Пожалуйста, покажите нам, как вы храните это в базе данных. Кроме того, у вашего ввода * есть *, чтобы иметь «UTC» в конце, или его можно было отбросить? (Мы не знаем, откуда поступает ваш вход.) Большинство остальных легко исправить ... –
Что такое настройка часового пояса mysql? Используйте это, чтобы проверить: http://stackoverflow.com/a/930914/791406 – raffian
@JonSkeet Спасибо, что ответили. Я могу программно удалить UTC. Но как это поможет. Удаление UTC из переменной String по-прежнему отображается так же, как указано выше. Также я использую JPA для сохранения данных. "Testdate testobj = новый testdate(); \t \t testobj.setAddDate (новый Отметка (a.getTime())); \t \t em.persist (testobj);" –