Преобразование времени/DataTime/данных в java.util.Calendar?
Вопрос
Можно ли легко преобразовать JRuby Time/DataTime/Data в java.util.Calendar, включая часовой пояс?
На #jruby мне дали такой код cal.set_time_in_millis(time.to_i)
но между ними я потерял информацию о часовом поясе.Итак, более конкретный вопрос заключается в том, как преобразовать часовой пояс, но я предпочел задать более широкий вопрос на случай, если есть более простой способ.
Решение
Вы можете использовать метод #to_java для преобразования объекта времени Ruby в java.util.Date:
require 'java'
Time.now.to_java
Обратите внимание, что это приведение происходит автоматически при передаче объектов Ruby методам Java.
Другие советы
Я узнаю, что Time не хранит часовой пояс, поэтому что возвращается Time.now.zone
это местный часовой пояс.
Поэтому его легко преобразовать в java.util.Data
:
data = java.util.Date.new(date.to_i*1000)