【PHP】日付のint型(timestamp) ⇔ string型変換【date】

PHPでのdate系はint型(timestamp)とstring型が存在しますがそれぞれ変換可能です。

int型(timestamp) → string型

date関数を使います。

string date ( string $format [, int $timestamp = time() ] )
指定された引数 timestamp を、与えられた フォーマット文字列によりフォーマットし、日付文字列を返します。 タイムスタンプが与えられない場合は、現在の時刻が使われます。 つまり timestamp はオプションであり そのデフォルト値は time() の値です。

$now_timestamp = time();
echo date('Y-m-d',$now_timestamp); //2018-10-23

string型 → int型(timestamp)

strtotime関数を使います。

int strtotime ( string $time [, int $now = time() ] )
この関数は英語の書式での日付を含む文字列が指定されることを期待しており、 now で与えられたその形式から Unix タイムスタンプ (1970 年 1 月 1 日 00:00:00 UTC からの経過秒数) への変換を試みます。 now が指定されていない場合は現在日時に変換します。 この関数の各パラメータでは、パラメータ内でタイムゾーンを指定しない限りはデフォルトのタイムゾーンを使います。 意図的にそうする場合は別として、パラメータごとにタイムゾーンを変えてしまったりしないように気をつけましょう。 デフォルトのタイムゾーンを定義する方法については date_default_timezone_get() を参照ください。

$today_string = "2018-10-23";
echo strtotime($today_string);