MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLで現在のタイムゾーンを取得するには?基本構文とnow()関数の使い方

MySQLのタイムゾーンを確認する基本の構文

MySQLで現在設定されているタイムゾーンを確認するには、システム変数である @@global.time_zone(グローバル設定)と @@session.time_zone(セッション設定)を参照します。以下がその構文です。

mysql> SELECT @@global.time_zone, @@session.time_zone;

実行結果は以下の通りです。

+--------------------+---------------------+
| @@global.time_zone | @@session.time_zone |
+--------------------+---------------------+
| SYSTEM             | SYSTEM              |
+--------------------+---------------------+
1 row in set (0.00 sec)

この例では「SYSTEM」と表示されています。これは、MySQLが明示的なタイムゾーン設定を持たず、OS(サーバー)のシステムタイムゾーンに従って動作していることを意味します。具体的なタイムゾーン名やUTCオフセットが設定されていない場合、デフォルトで「SYSTEM」が返されます。

now()関数で現在の日時を確認する方法

もうひとつの方法として、now() 関数を使えば、現在のタイムゾーンに基づいた日時をそのまま取得できます。ここでは例として、新しいテーブルを作成して確認してみましょう。

mysql> create table CurrentTimeZone
   -> (
   -> currenttimeZone datetime
   -> )ENGINE=MYISAM;
Query OK, 0 rows affected (0.19 sec)

次に、テーブルへレコードを挿入します。now() 関数の戻り値をそのまま保存しています。

mysql> INSERT INTO CurrentTimeZone values(now());
Query OK, 1 row affected (0.10 sec)

テーブルの中身を表示して、現在のタイムゾーンにおける日時を確認します。

mysql> select *from CurrentTimeZone;

実行結果は以下の通りです。

+---------------------+
| currenttimeZone     |
+---------------------+
| 2018-10-29 17:20:12 |
+---------------------+
1 row in set (0.00 sec)

なお、単純に現在の日時を知りたいだけであれば、テーブルを作成せずとも SELECT NOW(); を実行すれば同じ結果が得られます。また、タイムゾーンを変更したい場合は SET GLOBAL time_zone = '+9:00'; のように設定することも可能です。サーバーの再起動後も設定を維持したい場合は、設定ファイル(my.cnf / my.ini)の default-time-zone に指定しておくと安心です。

  1. Javaで現在の日付を取得する4つの方法|Date・LocalDate・Calendar・java.sql.Dateの使い方

    Javaで現在の日付(システム日付)を取得する方法は複数あります。古くから使われている java.util.Date や Calendar クラスから、Java 8以降で推奨される LocalDate など、状況に応じて使い分けが可能です。ここでは代表的な4つの方法を、サンプルコードと実行結果付きで解説します。 1. java.util.Dateクラスのコンストラクタを使う java.util.Date クラスの引数なしコンストラクタは、現在の日付と時刻を表すDateオブジェクトを返します。これに SimpleDateFormat を組み合わせれば、任意の形式で現在日付を出力できます。 サンプ

  2. Pythonで現在時刻をミリ秒単位で取得する方法

    Pythonでは、標準ライブラリの time モジュールを使うことで、現在の時刻をミリ秒単位で簡単に取得できます。time.time() 関数は、1970年1月1日0時0分0秒(エポック)からの経過時間を、秒単位の浮動小数点数として返します。この値に1000を掛け、整数に丸めることでミリ秒単位のタイムスタンプに変換できます。サンプルコードimport time milliseconds = int(round(time.time() * 1000)) print(milliseconds)実行結果上記のコードを実行すると、次のような出力が得られます。1514825676008Python 3.