PHPで文字列日時を整形する方法 †本資料は、PostgreSQLからtimestamp型の日時文字列を取得した時、秒以下の値を含む文字列が返却されました。 PostgreSQLの日付時刻関連の関数を使用しSQLで対処できますが、本記事ではPHPで対処する場合の資料です。 スポンサーリンク 文字列日時を整形する †PostgreSQLのtimestamp型で処理したとき、以下のように秒以下の値が返却されました。 sakura=# select date from t1; date ---------------------------- 2012-05-17 13:26:16.209357 (1 行) 以下のように日付時刻関連の関数である、date_truncを利用すればよいのですが、この記事ではPHPで対処することにしました。 sakura=# select date_trunc('second',date) from t1; date_trunc --------------------- 2012-05-17 13:26:16 (1 行) PHPスクリプトによる文字列操作 †文字列日時をPHPの日付時刻関連の関数をつかって操作できますが、本資料では、vsprintfとsscanfを利用して実現しまいた。 <?php $in="2012-05-17 13:26:16.209357"; $out=vsprintf("%d-%02d-%02d %02d:%02d:%02d", sscanf($in, "%d-%d-%d %d:%d:%d")); echo $out; ?> $inには秒以下の値を含む日時文字列です。 実際の動作は以下の通りです。 $ php dateconv.php 2012-05-17 13:26:16 以上、文字列日時のフォーマット整形について記述しました。 スポンサーリンク |