• 締切済み
  • 困ってます

タイムゾーンの設定について(CentOs)

LAMPにてWEBを制作をしています。 linux系はちょこちょこ触ったことはあるのですが深く知らないといったレベルです。 ですので説明下手になり長くなりますが最後まで目を通して頂けたら幸いです。 調査→対応→現状までの流れを説明させていただきます。 --------------------------------------------------------------------- 現在、デバッグを行うためにシステム時間をちょこちょこ変えながらテストをしてるのですが 私の環境のみ 日付がAM8時で日にちが変わるという状態になり、いろいろ調べてるうちに タイムゾーンの問題という事にきづきました。 dateコマンドでタイムゾーンがPDTになっいるのを確認し /etc/sysconfig/clock が/America/Los になっていたので/Asia/Tokyoに修正。 reboot dateコマンド PDTから変わらず。 で、さらに調べて /usr/share/zoneinfo/Asia/Tokyo もしくは /Japanのファイルを/etc/locatimeにリンクしました。 reboot dateコマンド PDTから変わらず。 その後、 ・環境変数のTZにJSTをぶち込んだり ・sysconfig/clockをGMTで記述してみたりと とりあえずの処置で対応してたのですが 気持ち悪い&悔しいので再度調査したのですがどこもlocaltimeのリンクを直すような記事しか のってない状態で困っています。 その後私の環境のJapanもしくはAsiaTokyoのファイルそのものがPDTになちゃってるのではと思い、 正常に動いているメンバの環境から同ファイルをコピし環境に入れ込みました。 するとdataコマンドできちんとJSTと表示され、解決したかと思ったのですが rebootするとGMTに戻ってしまいました。 sysconfig/clockがその時、前の対応でGMTで記述してたのでそれが問題かと思い Japanに修正し、rebootしなおした所正常にJSTになりました。 原因はいまいちわからないけどとりあえず当初の目標は達成したかと思ったのですが 日付の変更を行った直後にdataコマンドを投げた所今度はタイムゾーンがEDTになりました… さらにsysconfig/clockの中身も/America/New_York になるという新展開に。。。 もうこうなってくるとさすがに何がなんだかわからなくなってしまいここで質問させて いただいた次第です。 何か原因が分かる方、もしくは対処方法がわかる方いましたら 参考URLだけでもいいので教えて頂けると助かります。 もし何か情報として足りない物があれば指摘していただければと思います。 また、説明下手な上に乱文になってしまい大変申し訳ありませんでした。 最後まで読んでいただいた方には感謝いたします。

共感・応援の気持ちを伝えよう!

  • 回答数1
  • 閲覧数1672
  • ありがとう数2

みんなの回答

  • 回答No.1

いろいろと書いてあってよく解りませんが、設定ファイルを直接書き換えるのではなくて、一番オーソドックスな方法で設定してはどうですか。 まだ試していないのであれば、下記のことを試してはどうですか。 # system-config-date 「Asia/Tokyo」を選択する。 「System clock uses UTC」はオフにする(チェックを入れない) --- system-config-date ツールがインストールされていない場合は # yum install system-config-date

共感・感謝の気持ちを伝えよう!

質問者からのお礼

回答ありがとうございます。 当初は設定ファイル等いじらないでも直るもんだと 勝手に思ってたので8ive22ty様の言われた事や その他いろいろ試した結果の質問になりました… ちょっと質問自体わかりづらくて申し訳ありませんでした。

関連するQ&A

  • sessionのtime zoneのデフォルト値の変更

    セッションのtime zoneは、デフォルトでGMTになっているようです。 time zoneを'Asia/Tokyo'にする場合、各セッションで、alter文を使って、セッションのtime zoneを変えればいいのですが・・・ どこかのファイルを変更すれば、デフォルトを'Asia/Tokyo'にしてしまうなんてことはできないものでしょうか?

  • サーバの時刻設定

    ntpdateコマンドで時刻の同期をかけると 2時間くらい時刻がずれてしまいます。 date コマンドで時刻をみると VLAST と表示され、サマータイムになっているものと思われます。 (他サーバでは、JST と表示される) そこで、やってみたことは /etc/sysconfig/clock ファイルの修正 ZONE="Asia/Tokyo"  ← Tokyoになっていなかったので修正 UTC=false ARC=false 設定後、サーバを再起動し読み込ませてみましたが 何も変わりませんでした。 ネットで色々と検索してみましたが 他のどこの設定をいじればいいのか解りません。 申し訳ございませんが助言をいただければと思います。 サーバ環境は、 Redhat Linux ES(Ver3.0) です。 よろしくお願いします。

  • Linuxのインストール時のタイムゾーン

    FedoraCoreをインストールしようとした時に、タイムゾーンでAsia/TokyoとJapanの二種類ありました。どう違うんでしょう?

  • SQLite 3.7.1 のタイムゾーンについて

    Windows XP に XAMPP をインストールし、PHPとSQLiteでページを作成しているのですが、 SQLite のタイムゾーンの取り扱いで不可解な点があるのでお教え願います。 「UPDATE xxx SET AA='AA', UDate='2010-11-21 19:15:10' WHERE ID= '321'」というSQLを実行すると、SQLiteには UDate がタイムゾーン分の時間が遅れて記録されます。 当然「UDate='2010-11-21 19:15:10'」は、SQL実行時の時間です。 SQLiteの確認は、firefoxのツール・SQLite Manager v0.65 です。 Windows XPのタイムゾーンはJST-9で合っているし、時計の時間は合っています。 PHP には「 date_default_timezone_set( 'Asia/Tokyo' ); 」を記述しているので間違いはないと思います。 実は「UPDATE xxx SET AA='AA', UDate=CURRENT_TIMESTAMP WHERE ID= '321'」を実行した時に、同じように時間がずれたので「CURRENT_TIMESTAMP」が理由だと思い PHP でタイムスタンプを作ってSQLを実行しても同じようにずれたの SQLite の仕様なのかな? と思っていますが、気持ちが悪いので正しく入力できる方法があれば直したいと思っています。 宜しくお願いします。

  • サーバーのdateをUTCにする方法

    ネット調べてJSTからUTCに変更しましたが、表示はJSTのまま。ほかの設定のところ、又は別の原因、経験お持ちの方、教えてください。 やったこと: (1)rootになって、/rootの位置から/etc/localtimeを削除し、新しいソフトリンクを作る。 ln -s /usr/share/zoneinfo/UTC /etc/localtime (2)/etc/sysconfig/clockをviで開いて、以下の様に設定する。 ZONE="UTC" --> もともとはAsia/Tokyoだった。 UTC=true ARC=false 以上で、成功した場合、dateコマンドでUTCになったことが確認できますよね。 私の場合、表示はJSTのまま。 Wed Nov 27 22:26:03 JST 2013 clockコマンド実行すると、おかしいこと(面白いこと?)起きる。 ようは、 Wed 27 Nov 2013 01:26:57 PM JST -0.751004 seconds のように表示されて、時間表示=「01:26:57 PM」=は合っています。ただし、”UTC”でなく”JST”になっています。

  • dateコマンドで出てくるDST

    Windows 10 で動く Windows Subsystem for Linux が正式版になったので早速インストールして Ubuntu で動かしています。そこでコマンドラインから date コマンドを実行したところ以下のように出力されました。 Wed Nov 15 18:00:01 DST 2017 この DST とはなんでしょう? 普通なら JST 等のタイムゾーンが出る所ですよね? DST という名称のタイムゾーンがあるんでしょうか? (だとすると Daylight Saving Time と同じで非常に紛らわしいように思いますが)。 一体これはどういうことかと思い、 date '+%Z %z' をやってみたらこう出ます。 DST +0900 どうやら日本と同じようです。環境変数 TZ に Japan 以外の何か知らない国名がセットされているのかなと思って $TZ を出してみましたが空で、env | grep TZ で出力がないので TZ は完全にセットされていないようです。 じゃあ TZ を Japan にセットしたらどうなるのかというと、これは以下のように JST で出ます。(以下は最初の行が date のみ、次の行が date '+%Z %z' の出力) Wed Nov 15 18:04:49 JST 2017 JST +0900

  • timedatectlコマンドに関して

    linux(CentOS7)のtimedatectlコマンドに関して 最初見たときにデフォルトが以下のような感じでした。 timedatectl Local time: Mon 2017-02-17 13:43:53 JST Universal time: Mon 2017-02-17 04:43:53 UTC RTC time: n/a Time zone: UTC (JST, +0900) NTP enabled: n/a NTP synchronized: yes RTC in local TZ: no DST active: n/a 「Local time」だけJST でyum updateした後に、「Local time」もUTCとなり時刻がおかしくなりました。 治す方法を探していると、 timedatectl set-timezone Asia/Tokyo で直せと書いているのですが、 それをすると時刻の刻みは治りますが、元通りでないのが釈然としません。 timedatectl Local time: Fri 2017-02-17 16:04:21 JST Universal time: Fri 2017-02-17 07:04:21 UTC RTC time: n/a Time zone: Asia/Tokyo (JST, +0900) NTP enabled: n/a NTP synchronized: no RTC in local TZ: no DST active: n/a 元通りにする方法はありませんか。 それと、 Time zoneをUTCにしてローカルとしてJSTにするのと、 Time zoneそのものをJSTにするのとでは何が違いますか? 以上、よろしくお願いします。

  • GMT時刻を任意のタイムゾーン時刻への変換方法

    Date型のGMT時刻をOSで設定したタイムゾーンに応じたローカル時刻に変換してくれる ことを期待して下記サンプル(SimpleDateFormatにTimeZoneを設定)を作成しました。 しかし、変換前後で時刻は変わりませんでした。 GMT時刻=2010/06/13 09:15:30 を作成。OSのタイムゾーンを日本に設定し、変換。 変換後の時刻は9時間後の2010/06/13 18:15:30を期待したのですが変換前後で変化は ありませんでした。下記がそのサンプルなのですが何か問題がありますでしょうか。 また、サンプルではOSからタイムゾーンを取得しているのですがブラウザのタイムゾーンを 取得することはできるのでしょうか。HTTP request headersにはタイムゾーン情報は無く JavaScriptを経由してとらないといけないという記述をどこかで見たことはあるのですが・・・。 【サンプル】 import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.TimeZone; public class TimeZoneTest { private static SimpleDateFormat formatter = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); public static void main(String[] args) { Calendar cal = Calendar.getInstance(); cal.set(Calendar.YEAR, 2010); cal.set(Calendar.MONTH, 5); cal.set(Calendar.DAY_OF_MONTH, 13); cal.set(Calendar.HOUR_OF_DAY, 9); cal.set(Calendar.MINUTE, 15); cal.set(Calendar.SECOND, 30); Date todayDate = cal.getTime(); System.out.println("GMT時刻=" + formatter.format(todayDate).toUpperCase()); // GMT時刻=2010/06/13 09:15:30 String convertDate =convertTime(todayDate); // OSのTimeZoneId=Asia/Tokyo にて変換 System.out.println("ローカル時刻=" + convertDate); // ローカル時刻=2010/06/13 09:15:30 何故??? } public static String convertTime(Date todayDate) { String timeZoneId = TimeZone.getDefault().getID(); System.out.println("OSのTimeZoneId=" + timeZoneId); // OSのTimeZoneId=Asia/Tokyo formatter.setTimeZone(TimeZone.getTimeZone(timeZoneId)); return formatter.format(todayDate).toUpperCase(); } }

    • ベストアンサー
    • Java
  • ntpdateで時刻同期すると一日ずれます。

    Linuxでntpdateで時刻同期すると一日ずれます。 # date 2010年 11月 11日 木曜日 09:34:21 JST 今日は11月10日です。 # date -s 20101110 2010年 11月 10日 水曜日 00:00:00 JST #ntpdate -b ntp.nict.jp 11 Nov 09:35:24 ntpdate[22948]: the NTP socket is in use, exiting # date 2010年 11月 11日 木曜日 09:35:28 JST なぜか11日にもどされます。 # hwclock --show # 何も表示されません。 # cat /etc/sysconfig/clock ZONE="Asia/Tokyo" UTC=true ARC=false 他のサーバにつないでも同様でした。 # date -s 20101110 2010年 11月 10日 水曜日 00:00:00 JST #ntpdate -b eric.nc.u-tokyo.ac.jp 11 Nov 12:30:03 ntpdate[23329]: step time server 130.69.251.23 offset -86403.273202 sec # ntpdate -b 11 Nov 12:31:01 ntpdate[23331]: no servers can be used, exiting # ntpdate -b ntp.sut.ac.jp 11 Nov 12:31:13 ntpdate[23332]: step time server 133.31.180.6 offset -86403.269931 sec # ntpdate -s ntp.sut.ac.jp # date 2010年 11月 11日 木曜日 12:31:33 ntpはもちろんはいっています。 #rpm -qa ntp ntp-4.2.2p1-9.el5.centos.2.1 よろしければアドバイスをいただけないでしょうか?

  • XWindow画面右下の時計

    サーバの時計あわせで詰まってしまいました。 OSはRHEL3です。 時間あわせはntpデーモンでNTPサーバと同期を取っています。 システム・ハードウェアクロック共に問題無いのですが、 タイムゾーンも東京になっているのにXWindow右下の時計だけ、 時間が2時間遅れてしまいます。 クーロンの実行時間も2時間遅れてしまいます。 原因がわかる方、ご教示お願いします。 #date 2007年 2月25日 日曜日 12時58分26秒 JST #Clock 2008年02月25日 12時58分48秒 -0.616793 秒 #cat /etc/adjtime -4005.406740 1175317286 0.000000 1175317286 LOCAL #diff /usr/share/zoneinfo/Asia/Tokyo /etc/localtime 差異無し 宜しくお願い致します。