Преобразование объекта JRuby DateTime в Java.sql.Timestamp

Я использую JRuby версии 1.7.11. У меня есть требование преобразовать строку даты в JRuby в java.sql.Timestamp. Я новичок в JRuby, поэтому мне нужна помощь и как это сделать. Пробовал, как показано ниже, и я застрял.

require 'date'

datePart = DateTime.parse('2014-04-30')

puts datePart

Я не уверен, как преобразовать это в объект java.sql.Timestamp.

Есть предположения?


person techiePS    schedule 18.05.2015    source источник


Ответы (1)


[Немного устарела, поэтому, возможно, уже решена — пожалуйста, сообщите нам о своих выводах.]

Ваш вызов DateTime дает вам объект DateTime.

Объект java.sql.Timestamp может быть создан из явных сведений о годе, месяце, дне и т. д. или с помощью аргумента в миллисекундах.

Итак, вы можете либо сделать

java.sql.Timestamp.new(datePart.year-1900, datePart.month-1,... etc)

or

# convert to Ruby Time, so that the Java conversion gives you a Java Date object
java.sql.Timestamp.new(datePart.to_time.to_java.time) 

Может быть способ получить от объекта DateTime непосредственно значение миллисекунд, но я его не вижу.

Ваше здоровье.

person Chris Kimpton    schedule 05.10.2015