Ich verwende Rails 5.0.1. Ich verwende den folgenden Code meiner Tabellendaten in CSV-Form zur Ausgabe ...Wie kann ich in Rails mein Datum als Zeit in Millisekunden in meiner CSV-Datei ausgeben?
def self.to_csv(from_date, to_date)
attributes = %w{index_date value} #customize columns here
values = CryptoIndexValue.where('index_date >= ? and index_date <= ?', from_date, to_date)
.order(index_date: :desc)
CSV.generate(headers: true) do |csv|
csv << attributes
values.each do |value|
csv << attributes.map{ |attr| value.send(attr) }
end
end
end
Das Problem ist, wenn mein Date (eine PostGres 9.5 Timestamp-Spalte) ausgegeben wird, es wird als
2017-08-01 20:00:09 UTC
Ich möchte es als Zeit in Millisekunden ausgeben lassen. Wie kann ich die oben genannten Einstellungen so anpassen, dass die Zeit in Millisekunden und nicht im Standardformat angezeigt wird?
Ich bin unklar, wo ich das in den Code, den ich zur Verfügung gestellt habe, setzen würde. Ich gebe Linien zu einem csv aus mit der Zeile "csv << attributes.map {| attr | value.send (attr)}" – Dave
Sie müssen einen Haken für bestimmte Werte machen, bevor Sie sie in der CSV ausgeben. Ich werde meinen Code in einer Sekunde aktualisieren – MrYoshiji
In meinem Fall war die Klasse ein "ActiveSupport :: TimeWithZone". Durch den Einsatz hat alles funktioniert. – Dave