• 締切済み

タイムゾーンの設定について(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だけでもいいので教えて頂けると助かります。 もし何か情報として足りない物があれば指摘していただければと思います。 また、説明下手な上に乱文になってしまい大変申し訳ありませんでした。 最後まで読んでいただいた方には感謝いたします。

みんなの回答

  • 8ive22ty
  • ベストアンサー率52% (770/1479)
回答No.1

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

tomonkey0225
質問者

お礼

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

関連するQ&A

  • サーバの時刻設定

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

  • 異なるタイムゾーンのタイムサーバーとの時刻同期方法

    サーバー管理初心者の為、基本的なことかもしれませんがご教示下さい。 Unix(Solaris・AIX)、Linux(RedHat)でxntpdを用いてタイムサーバーと時刻同期設定をしようとしています。タイムサーバのタイムゾーンはJSTなのですが、タイムクライアント側{Unix(Solaris・AIX)、Linux(RedHat)の各サーバー}のタイムゾーンはGMTになっています。この場合でも、タイムゾーンがサーバー・クライアントと同じ時同様に、ntp.confでタイムサーバの設定を実施後にxntpdを起動すればJSTのタイムサーバーから取得した時刻を自動的にGMTのタイムゾーンに変換してくれますか?又、タイムサーバーとタイムクライアント側のタイムゾーンが異なると同期が取れないという場合は、サーバー・クライアントのタイムゾーンが異なった状態のままで、どの様にすれば同期が取れる様になるか、その方法を教えて頂ければと思います。 宜しくお願いします。

  • タイムゾーンと時刻について

    お尋ねいたします。 「日付と時刻のプロパティ」の「タイムゾーン」はGMT+09:00大阪 東京 札幌 に設定してあります。しかしGPSを取り込んで見たらその個体のタイムゾーンがGMT-0.03などとなり、再度インストール試みましたが変わりません。時刻調整のソフト等で(E-timing)調整してみましたらそのソフトも同じGMT-0.03になります。GPSのログファイルの時間帯が狂うので困っています。タイムゾーン調べたら-0.03等あるのでしょうか? それとインターネット時刻調整のサーバーが三個ありntp.nict.jpのみ同期しますが時刻は合いません、他の二つtime.windows.com、time.nist.govは同期に失敗となります。よろしくお願いいたします。 PC環境:Window XP SP2. Firefox ver2.00 追伸:GPSはGPS-CS1Kです。  

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

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

  • サーバーの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

  • 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 の仕様なのかな? と思っていますが、気持ちが悪いので正しく入力できる方法があれば直したいと思っています。 宜しくお願いします。

  • タイムゾーンについて…

    「日付と時刻のプロパティ」の「タイムゾーン」で、どの地域に設定してもロンドン時間(GMT)になってしまいます。 地図も、ロンドン中心の状態から変更なしです。 iPodも「タイムゾーン」でどの地域に設定していても、更新後にはロンドン時間に変更されています。 ウィルスバスター2006(アップデータで最新の状態)でのウィルス検索でも何も出ませんでした。 地域などの設定はすべて日本にしているはずなのですが、時間だけは常にロンドン時間になってしまっている状態です。 直すにはどうすればいいでしょうか? 【環境】 Windows Home Edition OEM (アップデータで最新の状態) 同期先サーバー:time.windows.com

  • 2003/07/01-20:10:55をローカルタイムに

    GMT2003/07/01-20:10:55のように指定された時間を、 タイムゾーンで指定するGMTからのオフセットに対応 させた2003/07/02-05:10:55のようなローカルタイム に変換するにはどのような方法が一般的ですか?

  • 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