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ファイルは以下の場所に配置します。スクリーンショットは次の通りです。

注意:ここでは、デフォルトのポートが別のプログラムによって使用されていたため、Apacheのポートを8086に変更しています。これはPHPプログラムの実行を開始するために必要な設定です。
したがって、お使いのシステムでデフォルトのポートが正常に動作している場合はそれをそのまま使用し、そうでない場合は変更後のポート番号をアドレスバーに入力してください。URLの形式は以下の通りです。
https://localhost:yourPortNumber/locationofphpfile/
この例では、ポート番号は「8086」、「locationofphpfile」は「phpproject」です。ポート番号の設定画面のスクリーンショットは以下の通りです。

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コードのスクリーンショットは以下の通りです。

ブラウザでプログラムを実行する
次に、任意のブラウザを開き、アドレスバーにURLを入力します。
https://localhost:yourPortNumber/locationofphpfile/
私のシステムではポート番号は8086です。お使いのXAMPPサーバーでポート番号を必ず確認してください。以下のURLをアドレスバーに入力します。「phpproject」は、PHPファイルを保存したXAMPP/htdocs内のフォルダです。
https://localhost:8086/phpproject/
Enterキーを押すと、プログラムが保存されているページが表示されます。スクリーンショットは以下の通りです。

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

まとめ
MySQLのTIME_TO_SEC()関数に相当する処理は、PHPではstrtotime()関数とtime()関数を組み合わせることで実現できます。strtotime()で特定の日時をUnixタイムスタンプ(秒)に変換し、time()で現在時刻のタイムスタンプを取得することで、両者の差分を秒単位で簡単に計算することが可能です。XAMPP環境さえ整えば、誰でもすぐに試せるシンプルな手法なので、ぜひ実際に動かして確認してみてください。
-
MySQLのUNHEX()に相当するPHP関数とは?hex2bin()の使い方を解説
PHPにおけるMySQLのUNHEX()相当の関数MySQLのUNHEX()関数と同じ処理をPHPで行いたい場合は、hex2bin()関数を使用します。この関数は、16進数形式の文字列をバイナリデータ(元の文字列)に変換するもので、まさにMySQLのUNHEX()に相当する機能を持っています。hex2bin()の基本構文構文は以下の通りです。$anyVariableName = hex2bin(yourHexadecimalValue);引数には16進数の文字列を指定し、戻り値として変換後のバイナリデータが返されます。PHPでの実装例実際にhex2bin()を使用したサンプルコードを見てみまし
-
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