ruby-on-rails - 将 Ruby 中的日期/时间格式化为 YYYY-MM-DD HH :MM:SS

标签 ruby-on-rails ruby

<分区>

我想格式化 Time.Now 函数以显示 YYYY-MM-DD HH:MM:SS 而不是:“2018-03-09 09:47:19 +0000” 该函数需要放在时间中.现在功能。

 require ‘roo’
 require ‘roo-xls’
 require ‘byebug’
 file_name = ARGV.first || “Template.xlsx”
 excel_file = Roo::Spreadsheet.open(“./#{file_name}“, extension: :xlsx)
 xml = Nokogiri::XML::Builder.new(encoding: ‘ISO-8859-15’) do |xml|
 xml.LIEFERUNG 

(“xmlns”: “http://testtest”, “xmlns:xsi”: “testtesttest”, “xsi:schemaLocation”: “testtest”, “version”: “1.0”, “erstellzeit”: “#{Time .now.strftime(“%F %H:%M:%S”)}“, “stufe”: “Produktion”) 做

 xml.ABSENDER do
 xml.KREDITGEBERNR “1206992”
 xml.Name “ALL”
 end
 xml.MELDUNGGROMIO(“erstellzeit”: “#{Time.now.strftime(“%F %H:%M:%S”)}“) do
 xml.MELDER do
 xml.KREDITGEBERNR “55093629”
 xml.Name “Finance”
 end
 File.open(“output.xml”, “w”) { |file| file.write(xml) }

最佳答案

您可以使用Time#strftime 方法将时间格式化为各种不同的格式,包括您需要的格式。它采用一个参数来指定日期输出的格式。看documentation for this method有关如何使用它的更多说明。

Time.now.strftime("%F %T")

%F 指定我们想要 YYYY-MM-DD 格式的日期。后面跟着一个空格,然后是 %T 说明符,它产生一个 HH:MM:SS 时间输出。

将其合并到您的代码中:

"erstellzeit": "#{Time.now.strftime("%F %T")}"

或者,如果您获得额外的 +0000 输出,请尝试:

"erstellzeit": "#{Time.now.strftime("%F %H:%M:%S")}"

关于ruby-on-rails - 将 Ruby 中的日期/时间格式化为 YYYY-MM-DD HH :MM:SS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49191620/

相关文章:

ruby-on-rails - 从 json 中删除根的 Carrierwave 选项

ruby - Ruby 中的命名命令行参数

ruby - 有备份的Ruby项目吗?

ruby-on-rails - RSpec - @controller 为零

ruby-on-rails - 在公共(public) manifest.json 文件中使用 GCM 发件人 ID 的正确方法

Ruby 名称错误 - 未初始化的常量

Ruby、Sinatra、omniauth-github 身份验证失败回调错误

ruby-on-rails - 将字符串插入 ruby​​ 方法的一部分

ruby-on-rails - Microsoft Translator API 回答 500 内部服务器错误

ruby-on-rails - 使用 FactoryGirl 别名属性的正确方法是什么?