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