将JRuby DateTime对象转换为Java.sql.Timestamp

时间:2015-05-18 14:49:33

标签: jruby

我正在使用JRuby版本1.7.11。我需要将JRuby中的日期字符串转换为java.sql.Timestamp。我是JRuby的新手,所以需要一些帮助以及如何完成这项工作。尝试如下,我被卡住了。

require 'date'

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

puts datePart

我不确定如何将其转换为java.sql.Timestamp对象。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

[有点老了,现在可能已经解决了 - 请告诉我们你的发现。]

您的DateTime调用会为您提供DateTime对象。

java.sql.Timestamp对象可以使用明确的年,月,日等详细信息或毫秒参数构建。

所以,你可以做到

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

# 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对象直接获取毫秒值,但我看不到它。

干杯。