PHP(ピー・エイチ・ピー)

PHP

PHPで日付けを扱う

【PHP】date()とstrtotim()で日付を処理

PHPで日付けを扱う時によく使用するのがdate()関数です。

format(フォーマット)を指定することで、いろいろな形式で表示できます。

例えば、
date("Y-m-d H:i:s");
とすれば「2011-03-22 10:01:01」を、
 
date("Y年n月j日");
とすれば「2012年3月22日」を、
 
返してくれます。

formatは

http://php.net/manual/ja/function.date.php

で説明してくれているので参考にしてください。

 

と、ここまででつまずく人はいないと思います。

 

例えば、

1日前の日付けを求めたい!!

1週間前の日付けを求めたい!!

などという時はありませんか?

 

そんな時には、strtotime()関数を使ってやれば、

簡単に求められます。

 

例えば、

strtotime("-1 day");

とすれば、1日前のタイムスタンプを返してくれます。

あとは、それをdate()関数で求めている形式に変換してやるだけです。

 

date("Y年m月d日", strtotime("-1 day"));

こうすることで、

今日が2012年03月22日だとすれば、

「2012年03月21日」を返してくれます。

 

この「"-1 day"」を「"+1 day"」または「"1 day"」とすれば、

逆に翌日の日付けを返してくれますし、

"-1 week"」、「"-1 week"」、「"-1 year"」と指定してやれば、

それぞれ1週間前、1か月前、1年前の日付け求められます。

 

もう少し応用すれば、

ある特定の日付け、

例えば「2012年01月01日」から1か月前の日付けを求めたい場合、

strtotime()関数を使って2012年01月01日をタイムスタンプに変換して、

以下のようにすれば、

こちらが求めている日付け「2011年12月01日」を返してくれます。

こんな感じ↓↓↓↓↓
date("Y年m月d日", strtotime("-1 month", strtotime("2012-01-01")));

date()関数strtotime()関数の組み合わせを使う機会は良くあるので覚えておくと便利です。

 

他にも、

PHPにはtime()関数mktime()関数などいろいろあるので、

興味のある人は調べてみてください。

 

あと、

PHPには2038年問題という重大な問題があります。

 

それについても気が向いたらブログに書こうと思います。

WordPress短期学習プログラム

関連記事

  1. PHP(ピー・エイチ・ピー)

    PHP

    PHPExcel エクセルをダウンロード

    PHPExcelを使ってエクセルファイルを出力する場合、ファイルを…

  2. PHP(ピー・エイチ・ピー)

    PHP

    【PHP7.1+】Fatal error: Uncaught Error: [] operator …

    今まで某レンタルサーバーを利用されている業者さんが、さくらインター…

  3. PHP(ピー・エイチ・ピー)

    PHP

    【PHP】Smartyで全角英数字を半角英数字に変換

    今日は、久しぶりにSmartyを触りました。といっ…

  4. サーバー設定

    PHP

    UbuntuサーバからPHP5.6を完全に削除

    UbuntuサーバにインストールしているPHP5.6を訳合ってアン…

  5. PHP(ピー・エイチ・ピー)

    PHP

    【PHP】ベーシック認証が原因でcURLに「Authorization Required」エラーが!…

    【PHP】cURLでベーシック認証ページへアクセスページコンテ…

  6. PHP(ピー・エイチ・ピー)

    PHP

    【PHP】SJISではなくSJIS-winを使用すること!!

    mb_convert_encodingでの文字コードの変換今日…

最近の記事

  1. Technology-Connection-Net
  2. ドメインにハイフンを使うのは日本人だけ?
  3. SSL(HTTPS)
  4. ドメインについて
  5. WP:WordPress(ワードプレス)
  6. ドメイン(domain)
  7. JPドメイン
  8. 高速(スピード)
  9. ブログアクセス
  10. 高速(スピード)
PAGE TOP