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

PHPのタイムスタンプをHTML5のdatetime入力要素に変換する方法

HTML5の要素にPHPで現在日時やUNIXタイムスタンプの値を渡す方法を解説します。ポイントは、HTML5が要求する「ISO 8601形式」(Y-m-d\TH:i:s)で日時を整形することです。

PHPでの日時フォーマット例

PHPのdate()関数を使い、HTML5対応の形式で現在日時を出力します。

echo date("Y-m-d\TH:i:s");

出力結果

上記コードを実行すると、次のような文字列が出力されます。

2018-03-28T19:12:49

「T」は日付と時刻の区切りを示し、この形式がHTML5の日時入力要素のvalue属性としてそのまま利用できます。

タイムスタンプを使ったHTMLの記述例

UNIXタイムスタンプ($timestamp)から値を生成し、input要素のvalue属性に直接埋め込むことも可能です。

<input type="datetime-local" value="<?php echo date('Y-m-d\TH:i:s', $timestamp); ?>">

補足:datetimeとdatetime-localの違い

かつてのHTML5仕様にはtype="datetime"が存在しましたが、現在は廃止されており、代わりにtype="datetime-local"の使用が推奨されています。datetime-localはタイムゾーン情報を持たず、ユーザーのローカル時刻を扱う点に注意してください。サーバー側のタイムスタンプを表示する場合は、date_default_timezone_set()などであらかじめ適切なタイムゾーンを設定しておくと、意図しない時刻ズレを防げます。

  1. PHPで配列の最初の要素を取得する方法をわかりやすく解説

    PHPで配列の最初の要素を取得する方法はいくつかあります。ここでは、代表的な手法をサンプルコードとともに紹介します。例1:キーを直接指定して取得する連想配列の場合、先頭のキーがわかっていれば、そのキーを指定するだけで最初の要素にアクセスできます。<?php     $arr = array( p=>150, q=>100, r=>120, s=>110, t=>115, u=>103, v=>105, w=>125 );     echo 配列の値 ...\n;

  2. PHPのunixtojd()関数の使い方を徹底解説

    unixtojd() 関数は、Unixタイムスタンプをユリウス通日(Julian Day Count)に変換するためのPHP組み込み関数です。引数に指定されたUnixタイムスタンプ(1970年1月1日 00:00:00 UTCからの経過秒数)に対応するユリウス日を整数で返します。タイムスタンプを省略した場合は、現在の日付に基づくユリウス日が返されます。 構文 unixtojd(timestamp) パラメータ timestamp − ユリウス日に変換したいUnixタイムスタンプ。このパラメータは省略可能です。 戻り値 unixtojd() 関数は、指定されたUnixタイムスタンプ