2010-12-03 6 views
0
script/console 

>> t = Time.at(1158609371) 
=> Mon Sep 18 20:56:11 +0100 2006 
>> t.zone 
=> "BST" 
>> s = Shop.find(:first) 
>> s.creation_tsz = t.utc 
=> Mon Sep 18 19:56:11 UTC 2006 
>> s.creation_tsz.zone 
=> "UTC" 
>> s.save 
>> s = Shop.find(:first) 
>> s.creation_tsz 
=> Sat Jan 01 19:56:11 UTC 2000 

Comment est-il passé du 18 septembre 2006 au 1er janvier 2000? Timezone est configuré pour utiliser "UTC" dans environment.rb. Et juste pour que vous sachiez que j'ai essayé de nombreuses variantes de la ligne s.creation_tsz = t.utc. Tous avec un échec.Ruby: Convertir l'heure BST en UTC

Répondre

2

Est-il possible que dans la base de données, s.creation_tsz stocke uniquement une heure, mais pas une partie de date, par exemple un MySQL TIME type, par opposition à TIMESTAMP or DATETIME type.

+1

a changé le type de données de l'heure à la date et l'heure. Fixé. Merci – craig