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

MySQLのTIME_TO_SEC()に相当するPHPの関数は?日時を秒に変換する方法

MySQLのTIME_TO_SEC()とPHPのstrtotime()

MySQLでは、時間を秒数に変換するためにTIME_TO_SEC()関数を使用できます。一方、PHPで日時(datetime)を秒に変換したい場合は、strtotime()関数がその役割を果たします。

MySQLにおけるTIME_TO_SEC()の基本的な構文は以下の通りです。

SELECT TIME_TO_SEC(ABS(timediff('yourDateTimeValue',now())));

次に、PHPのstrtotime()を使って日時を秒に変換する具体的な方法を見ていきましょう。

XAMPPサーバーの準備

PHPプログラムを実行するには、まずXAMPPサーバーをインストールする必要があります。

CドライブにXAMPPを正常にインストールしたら、PHPファイルは以下の場所に配置します。スクリーンショットは次の通りです。

MySQLのTIME_TO_SEC()に相当するPHPの関数は?日時を秒に変換する方法

注意:ここでは、デフォルトのポートが別のプログラムによって使用されていたため、Apacheのポートを8086に変更しています。これはPHPプログラムの実行を開始するために必要な設定です。

したがって、お使いのシステムでデフォルトのポートが正常に動作している場合はそれをそのまま使用し、そうでない場合は変更後のポート番号をアドレスバーに入力してください。URLの形式は以下の通りです。

https://localhost:yourPortNumber/locationofphpfile/

この例では、ポート番号は「8086」、「locationofphpfile」は「phpproject」です。ポート番号の設定画面のスクリーンショットは以下の通りです。

MySQLのTIME_TO_SEC()に相当するPHPの関数は?日時を秒に変換する方法

PHPコードの作成

まず、エディタを開いて、日時を秒に変換するためのコードを記述します。PHPコードは以下の通りです。

プログラムは「yourFileName.php」のように.php拡張子を付けて保存してください。ここでは「DifferenceInSeconds.php」という名前で保存しています。

DifferenceInSeconds.php

<?php
$MySQLDateTime='2019-01-29 13:50:40';
echo "<h1>The strtotime value is:"."</h1>".strtotime($MySQLDateTime)."<br>";
echo "<h1>The time value is:"."</h1>".time()."<br>";
$diffenceInSeconds = strtotime($MySQLDateTime)-time();
echo "<h1>The difference of both time in seconds is:"."</h1>".$diffenceInSeconds;
?>

このコードでは、指定した日時「2019-01-29 13:50:40」をstrtotime()でUnixタイムスタンプ(秒)に変換し、time()で取得した現在時刻のタイムスタンプとの差分を計算しています。

PHPコードのスクリーンショットは以下の通りです。

MySQLのTIME_TO_SEC()に相当するPHPの関数は?日時を秒に変換する方法

ブラウザでプログラムを実行する

次に、任意のブラウザを開き、アドレスバーにURLを入力します。

https://localhost:yourPortNumber/locationofphpfile/

私のシステムではポート番号は8086です。お使いのXAMPPサーバーでポート番号を必ず確認してください。以下のURLをアドレスバーに入力します。「phpproject」は、PHPファイルを保存したXAMPP/htdocs内のフォルダです。

https://localhost:8086/phpproject/

Enterキーを押すと、プログラムが保存されているページが表示されます。スクリーンショットは以下の通りです。

MySQLのTIME_TO_SEC()に相当するPHPの関数は?日時を秒に変換する方法

次に、上記のPHPファイル「DifferenceInSeconds.php」をクリックすると、以下の出力結果が表示されます。

MySQLのTIME_TO_SEC()に相当するPHPの関数は?日時を秒に変換する方法

まとめ

MySQLのTIME_TO_SEC()関数に相当する処理は、PHPではstrtotime()関数とtime()関数を組み合わせることで実現できます。strtotime()で特定の日時をUnixタイムスタンプ(秒)に変換し、time()で現在時刻のタイムスタンプを取得することで、両者の差分を秒単位で簡単に計算することが可能です。XAMPP環境さえ整えば、誰でもすぐに試せるシンプルな手法なので、ぜひ実際に動かして確認してみてください。

  1. MySQLのUNHEX()に相当するPHP関数とは?hex2bin()の使い方を解説

    PHPにおけるMySQLのUNHEX()相当の関数MySQLのUNHEX()関数と同じ処理をPHPで行いたい場合は、hex2bin()関数を使用します。この関数は、16進数形式の文字列をバイナリデータ(元の文字列)に変換するもので、まさにMySQLのUNHEX()に相当する機能を持っています。hex2bin()の基本構文構文は以下の通りです。$anyVariableName = hex2bin(yourHexadecimalValue);引数には16進数の文字列を指定し、戻り値として変換後のバイナリデータが返されます。PHPでの実装例実際にhex2bin()を使用したサンプルコードを見てみまし

  2. MySQLのSMALLINTに相当するJavaの型は?short型との対応関係を解説

    MySQLのSMALLINTに相当するJavaのデータ型は、short型です。Javaのshort型は2バイト(16ビット)の符号付き整数で、-32768から32767までの範囲の値を扱うことができます。MySQLのSMALLINTも同様に2バイトで、同じ範囲の値を格納可能です。MySQLのSMALLINTとJavaのshort型の比較項目MySQL(SMALLINT)Java(short)サイズ2バイト(16ビット)2バイト(16ビット)値の範囲-32768 ~ 32767-32768 ~ 32767備考UNSIGNEDを指定すると0 ~ 65535になる符号付きのみなお、MySQLでUNS