用Ruby格式化日期/时间到YYYY-MM-DD HH:MM:SS

时间:2018-03-09 10:25:51

标签: ruby-on-rails ruby

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

    var str = "[numA1-E1]+[SalineLotNumberQ2-P1]-[x-y]";
    var arr =str.replace(/[+/*//[ ]/g,'').split("]").slice(0, -1);
    arr = arr.map(function(item){
       return item.replace(/^-/, '')
    });
    console.log(arr);

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

 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 

3 个答案:

答案 0 :(得分:1)

您可以使用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")}"

答案 1 :(得分:0)

使用strftime

"erstellzeit": Time.now.strftime('%Y-%m-%d %H:%M:%S')

答案 2 :(得分:0)

strftime模块将完成工作。

Time.now.strftime("%Y-%m-%d %H:%M:%S")

# Details
%Y - Year with century (can be negative, 4 digits at least)
%m - Month of the year, zero-padded (01..12)
%d - Day of the month, zero-padded (01..31)

%H - Hour of the day, 24-hour clock, zero-padded (00..23)
%M - Minute of the hour (00..59)
%S - Second of the minute (00..59)