java - 如何在 ruby​​ 中将 java.util.Date 格式化为 "MM/dd/yyyy"格式的日期?

标签 java ruby

我想将 Java 对象转换为 ruby​​ 格式。

我使用了以下代码

def format_date(date,date_format)
    return Date::strptime(date, date_format)
end 

date 是 java.util.Date 的一个实例 日期格式=“%d/%m/%Y”

我在 ruby​​ 中遇到以下错误

private method `sub!' called for #<Java::JavaUtil::Date:0x150ea09>

最佳答案

转换为 JRuby 时间并使用 strftime,如下所示:

def format_date(date, date_format)
    t = Time.at(date.time/1000)
    return t.strftime(date_format)
end 

Java 日期时间方法给出自 1970 年 1 月 1 日以来的毫秒数,Ruby Time 给出自该时间以来的秒数。

关于java - 如何在 ruby​​ 中将 java.util.Date 格式化为 "MM/dd/yyyy"格式的日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5659708/

相关文章:

ruby - 为什么 proc 可能比 block 运行得更快?

ruby - 为什么 Nokogiri::CSS.xpath_for 返回一个数组?

java - 为什么当 Comparator.compare 相等时我们需要返回 0

java - JLabels 变得非常小

java - 在 Java 中将字符串 "10 000.00"转换为 double 时出错

ruby-on-rails - 如何在图像标签的选项中编写ruby代码?

java - 将对象从主类传递到 JavaFX 应用程序

java - 负载均衡器通过 TCP 并使用 TLS 协议(protocol)传递消息

ruby - 在 Ruby 中处理 Nil

ruby - 在 Windows XP 中安装 Ruby Curb gem