2024.11.14
いまさらNode.jsを知ろう~環境構築も~
2018.06.01
プログラミングRailsでタイムゾーンの挙動がおかしいときは、OSのタイムゾーン設定群が壊れてるかも
坂東です。
特定のサーバーで Rails のタイムゾーン周りの挙動が怪しいかったです。
Time.zone.now や、 activerecord[:created_at].in_time_zone(‘Tokyo’) などが、まったく効かないの。
タイムゾーンの変換、 UTC → Tokyo がどうやってもできない。時間が変わらない。
puts activerecord[:created_at].zone UTC puts activerecord[:created_at].in_time_zone('Tokyo').zone UTC
OSやRailsのタイムゾーンの設定は他サーバーと一緒で、OSやDBはutc、Railsの表示はTokyo。
$ timedatectl Local time: Fri 2018-06-01 07:50:02 UTC Universal time: Fri 2018-06-01 07:50:02 UTC RTC time: Fri 2018-06-01 07:50:00 Time zone: UTC (UTC, +0000) NTP enabled: yes NTP synchronized: yes RTC in local TZ: no DST active: n/a application.rb config.time_zone = 'Tokyo' config.active_record.default_timezone = :utc
Railsのタイムゾーン周りの設定が壊れたのかと、どこにあるのかわからんけど、とりあえず git clone で取り直しても、解消せず。
grep してもそのような設定は見当たらない。
てことはOSの設定を見ている?とふと、
less /usr/share/zoneinfo/Asia/Tokyo
でゾーン設定ファイル群をみたら、これが壊れていました。中身が変になってた。
他のサーバーからコピーしなおしたら解消しました。
これはハマっても仕方ないですよね。
おわり。
【記事への感想募集中!】
記事への感想・ご意見がありましたら、ぜひフォームからご投稿ください!【テクノデジタルではエンジニア/デザイナーを積極採用中です!】
下記項目に1つでも当てはまる方は是非、詳細ページへ!Qangaroo(カンガルー)
【テクノデジタルのインフラサービス】
当社では、多数のサービスの開発実績を活かし、
アプリケーションのパフォーマンスを最大限に引き出すインフラ設計・構築を行います。
AWSなどへのクラウド移行、既存インフラの監視・運用保守も承りますので、ぜひご相談ください。
詳細は下記ページをご覧ください。
最近の記事
タグ検索