La conversion de Chaîne de caractères de type Datetime Rails
Je suis en utilisant LazyHighCharts et d'essayer de convertir les données json pour afficher uniquement les dernières 24h, je vais avoir quelques problèmes pour la conversion de la date et de l'heure ("2014-06-16 16:00:00") à quelques millisecondes.
structure de données
{"status": "ok", "data": [{"2014-06-16 16:00:00": 24.2},{"2014-06-17 12:00:00": 30.2},{"2014-06-18 17:00:00": 42.9}]} etc
Contrôleur
@data = JSON.parse(open(@temperature.url).read)
dates = []
temps = []
@data['data'].each do |data|
dates << data.keys
temps << data.values
end
datetime = dates.each do |d| DateTime.parse(d).to_i end
@graph = LazyHighCharts::HighChart.new('graph') do |f|
f.chart(:height => '400')
f.yAxis [:title => {:text => "Temperature", :margin => 20, style: { color: '#333'}}]
f.series(:pointInterval => 1.hour, :pointStart => 30.day.ago, :type => 'area', :name => '24hrs', :data => [[datetime, temps]])
f.options[:xAxis] = { :minTickInterval => 24 * 3600 * 1000, :type => "datetime", :dateTimeLabelFormats => { day: "%b %e"}, :title => { :text => nil }, :labels => { :enabled => true } }
end
OriginalL'auteur DollarChills | 2014-08-19
Vous devez vous connecter pour publier un commentaire.
Vous besoin pour convertir sstring dateTime comme la première,
Utilisez ce code:
Ou de ce code:
De sorte que vous pouvez convertir en tableau de chaînes de dates suivantes:
Helper liens: lien-1, lien-2
utilisez ce code
dates.map!{|d| d.to_datetime.strftime('%Q')}
Cheers... "undefined method `to_datetime" pour ["2014-08-12 10:00:00"]:Tableau" erreur.
ok, essayez un autre code
dates.map!{|d| DateTime.parse(d).strftime('%Q')}
, mais le premier code est travaillé avec moi sur les rails de la console 🙂Même problème. Merci d'essayer. Pas sûr de ce que l'enjeux est ici.
OriginalL'auteur Mohamed Yakout
Dans les Rails, vous pouvez convertir une chaîne formatée correctement à quelques millisecondes avec:
OriginalL'auteur infused