У меня есть LocalDate, который я пытаюсь преобразовать в java.sql.Date, чтобы сохранить его в поле даты в БД. Моя проблема в том, что когда я конвертирую его в java.sql.Date, он отстает на один день из-за того, что машина, на которой я работаю, находится в EST. Я настраиваю Joda.DateTime в формате UTC и создаю java.sql.Date с помощью конструктора millis. Я включаю выходные данные отладочных часов, чтобы вы могли видеть, каковы разные значения:
item.getDate().toDateTimeAtStartOfDay() = {org.joda.time.DateTime@6079}"2013-09-25T00:00:00.000Z"
item.getDate().toDateTimeAtStartOfDay().getMillis() = 1380067200000
new java.sql.Date(item.getDate().toDateTimeAtStartOfDay().getMillis()) = {java.sql.Date@6082}"2013-09-24"
item.getDate().getLocalMillis() = 1380067200000
new java.sql.Date(item.getDate().getLocalMillis()) = {java.sql.Date@6083}"2013-09-24"
new java.util.Date(item.getDate().getLocalMillis()) = {java.util.Date@6103}"Tue Sep 24 20:00:00 EDT 2013"
Из создания java.util.Date я предполагаю, что это связано с тем, что моя машина, на которой я тестирую, находится в EST, а LocalDate находится в UTC, но я не уверен, как правильно это исправить. Я понимаю, что могу получить местный часовой пояс и добавить его к миллисам, но это похоже на хакерское решение. Есть ли правильный способ сделать это, которого мне просто не хватает?
Обновите миллис для файла java. util.Date
new java.util.Date(item.getDate().getLocalMillis()).getTime() = 1380153600000
item.getDate().toDateTimeAtStartOfDay().getMillis() = 1380153600000
item.getDate() = {org.joda.time.LocalDate@5812}"2013-09-26"
new java.sql.Date(item.getDate().getLocalMillis()).getTime() = 1380153600000
new java.util.Date(item.getDate().getLocalMillis()) = {java.util.Date@5842}"Wed Sep 25 20:00:00 EDT 2013"
new java.util.Date(item.getDate().getLocalMillis()).getTime() = 1380153600000
Подробнее здесь: https://stackoverflow.com/questions/190 ... a-sql-date
Как правильно перейти от LocalDate к java.sql.Date? ⇐ JAVA
Программисты JAVA общаются здесь
-
Anonymous
1733262756
Anonymous
У меня есть LocalDate, который я пытаюсь преобразовать в java.sql.Date, чтобы сохранить его в поле даты в БД. Моя проблема в том, что когда я конвертирую его в java.sql.Date, он отстает на один день из-за того, что машина, на которой я работаю, находится в EST. Я настраиваю Joda.DateTime в формате UTC и создаю java.sql.Date с помощью конструктора millis. Я включаю выходные данные отладочных часов, чтобы вы могли видеть, каковы разные значения:
item.getDate().toDateTimeAtStartOfDay() = {org.joda.time.DateTime@6079}"2013-09-25T00:00:00.000Z"
item.getDate().toDateTimeAtStartOfDay().getMillis() = 1380067200000
new java.sql.Date(item.getDate().toDateTimeAtStartOfDay().getMillis()) = {java.sql.Date@6082}"2013-09-24"
item.getDate().getLocalMillis() = 1380067200000
new java.sql.Date(item.getDate().getLocalMillis()) = {java.sql.Date@6083}"2013-09-24"
new java.util.Date(item.getDate().getLocalMillis()) = {java.util.Date@6103}"Tue Sep 24 20:00:00 EDT 2013"
Из создания java.util.Date я предполагаю, что это связано с тем, что моя машина, на которой я тестирую, находится в EST, а LocalDate находится в UTC, но я не уверен, как правильно это исправить. Я понимаю, что могу получить местный часовой пояс и добавить его к миллисам, но это похоже на хакерское решение. Есть ли правильный способ сделать это, которого мне просто не хватает?
Обновите миллис для файла java. util.Date
new java.util.Date(item.getDate().getLocalMillis()).getTime() = 1380153600000
item.getDate().toDateTimeAtStartOfDay().getMillis() = 1380153600000
item.getDate() = {org.joda.time.LocalDate@5812}"2013-09-26"
new java.sql.Date(item.getDate().getLocalMillis()).getTime() = 1380153600000
new java.util.Date(item.getDate().getLocalMillis()) = {java.util.Date@5842}"Wed Sep 25 20:00:00 EDT 2013"
new java.util.Date(item.getDate().getLocalMillis()).getTime() = 1380153600000
Подробнее здесь: [url]https://stackoverflow.com/questions/19015186/what-is-the-correct-way-to-go-from-localdate-to-java-sql-date[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия