Ciao,
guardando l’implementazione di ActiveSupport qua:
https://github.com/rails/rails/blob/ded5f5b261b324767406baca41193c08c966008a/activesupport/lib/active_support/core_ext/time/zones.rb#L58
Rails usa ActiveSupport::TimeZone o TZInfo::Timezone per settare la
timezone quando gli passi una stringa. I possibili valori che accetta
sono:
“Hanoi”, “Harare”, “Hawaii”, “Helsinki”, “Hobart”, “Hong Kong”, "Indiana
“Sapporo”, “Sarajevo”, “Saskatchewan”, “Seoul”, “Singapore”, “Skopje”,
“Sofia”, “Solomon Is.”, “Sri Jayawardenepura”, “St. Petersburg”,
“Stockholm”, “Sydney”, “Taipei”, “Tallinn”, “Tashkent”, “Tbilisi”,
“Tehran”, “Tijuana”, “Tokelau Is.”, “Tokyo”, “UTC”, “Ulaan Bataar”,
“Urumqi”, “Vienna”, “Vilnius”, “Vladivostok”, “Volgograd”, “Warsaw”,
“Wellington”, “West Central Africa”, “Yakutsk”, “Yerevan”, “Zagreb”]
e
“Africa/Lome”, “Africa/Luanda”, “Africa/Lubumbashi”, “Africa/Lusaka”,
“America/Argentina/Rio_Gallegos”, “America/Argentina/Salta”,
“America/Creston”, “America/Cuiaba”, “America/Curacao”,
“America/Indiana/Tell_City”, “America/Indiana/Vevay”,
“America/Moncton”, “America/Monterrey”, “America/Montevideo”,
“America/Santo_Domingo”, “America/Sao_Paulo”, “America/Scoresbysund”,
“Antarctica/Syowa”, “Antarctica/Vostok”, “Arctic/Longyearbyen”,
“Asia/Khandyga”, “Asia/Kolkata”, “Asia/Krasnoyarsk”, “Asia/Kuala_Lumpur”,
“Asia/Ust-Nera”, “Asia/Vientiane”, “Asia/Vladivostok”, “Asia/Yakutsk”,
“Australia/Queensland”, “Australia/South”, “Australia/Sydney”,
“Etc/GMT-12”, “Etc/GMT-13”, “Etc/GMT-14”, “Etc/GMT-2”, “Etc/GMT-3”,
“Europe/Madrid”, “Europe/Malta”, “Europe/Mariehamn”, “Europe/Minsk”,
“Indian/Kerguelen”, “Indian/Mahe”, “Indian/Maldives”, “Indian/Mauritius”,
“Pacific/Midway”, “Pacific/Nauru”, “Pacific/Niue”, “Pacific/Norfolk”,
“Pacific/Noumea”, “Pacific/Pago_Pago”, “Pacific/Palau”, “Pacific/Pitcairn”,
“Pacific/Pohnpei”, “Pacific/Ponape”, “Pacific/Port_Moresby”,
“Pacific/Rarotonga”, “Pacific/Saipan”, “Pacific/Samoa”, “Pacific/Tahiti”,
“Pacific/Tarawa”, “Pacific/Tongatapu”, “Pacific/Truk”, “Pacific/Wake”,
“Pacific/Wallis”, “Pacific/Yap”, “Poland”, “Portugal”, “ROC”, “ROK”,
“Singapore”, “Turkey”, “UCT”, “US/Alaska”, “US/Aleutian”, “US/Arizona”,
“US/Central”, “US/East-Indiana”, “US/Eastern”, “US/Hawaii”,
“US/Indiana-Starke”, “US/Michigan”, “US/Mountain”, “US/Pacific”,
“US/Pacific-New”, “US/Samoa”, “UTC”, “Universal”, “W-SU”, “WET”, “Zulu”]
Nell’elenco vedo “CET” ma non “CEST”.
La differenza dovuta al fatto che il metodo di istanza “#zone”
definito
dall standard library Ruby, e restituisce una stringa:
Time.now.zone
=> “BST”
Time.now.zone.class
=> String
Mentre Rails abitutato a usare oggetti di tipo TimeZone, e aggiunge un
metodo di class “::zone” che restituisce proprio una timezone:
Time.zone
=> #<ActiveSupport::TimeZone:0x007f7fae625018 @name=“Rome”,
@utc_offset=nil, @tzinfo=#<TZInfo::TimezoneProxy: Europe/Rome>,
@current_period=nil>
Time.zone.class
=> ActiveSupport::TimeZone
E quindi le due cose non comunicano proprio bene tra di loro.
Saluti,
Ju
Societ Cooperativa weLaika
Corso Vigevano 14/B, 10154 Torino (TO), Italy
http://welaika.com - [email protected]
2014-03-31 22:29 GMT+01:00 Iwan B. [email protected]: