skillup

技術ブログ

PHP

PHPでの日付関数の扱い方

投稿日:

このブログの投稿数ももう少しで150近くになりました。

で、9割以上がJavaなんですが、私はPHPのスクールを運営しています(笑)

ということでPHPのスキルを忘れてはいけないということで、今日はちょっとPHPの日付関数の復習なんかをします。

日付関数

Javaと比べるとここら辺の扱いが非常に楽ですね。

まあJavaもライブラリ入れれば問題ないんですけど、PHPだと標準で簡単な関数がいっぱい組み込まれているので、簡単にスクリプトが書けます。

基本的には表示はdate,操作はstrtotimeでいいと思います。

date

timestampを与えて、日付を表示します。

date(“Y-m-d” ,タイムスタンプ)みたいな。

公式のdateの説明 http://php.net/manual/ja/function.date.php

で、タイムスタンプなんてどうやってつくんのさーということころで便利なのがstrtotimeです。

strtotime

ちょっと前まではmktime使ってたんですけど、先輩にそんなもん使うなーといわれ今ではほぼこれ一択です。

このライブラリが結構すごくて引数に直でyyyy/MM/ddを入れたり+1month(1か月後)みたいなのを文字として書けちゃうところです。

公式のstrtotimeの説明 http://php.net/manual/ja/function.strtotime.php

サンプルパターン

現在日付からn日の取得

上記はマイナスをプラスにかえれば当然n日後などになります。

日付の入力はyyyy-MM-ddでもOK

2つの日付の大小を判定する

など

ちなみに今の時間を表記するときはstrtotime(“now”)でOK

2つの日付の差(何日間あるか)を求める

また日付の関数はタイムゾーンが設定されていないと動かないことがあります。
その場合、php.iniをいじればいいのですが、設定ファイルをいじるのが怖い場合は下記のようにプログラムの冒頭部分に書いておけばOKです。

他strtotimeのリンクなど

http://php-beginner.com/function/datetime/strtotime.html

-PHP
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

Queueの登録と実際の処理に関して

実務でQueueに絡んだ処理をする機会があったのでメモ。 Contents1 Queueとは2 Laravelでのキュー処理2.1 キューを記録しておく場所2.2 処理を登録する場面(当然まだ処理は行 …

no image

Laraevelのミドルウェアについて

以前からLaravel(ララベル)を使っていてわかりにくかったミドルウェアについてめも。 Laravelは一般的にはMVCフレームワークと言われていますが、コントローラーがリクエストを受け取り、何らか …

no image

CakePHP3でのコレクションに関して

プログラミングにおいて基礎となるのは配列、ハッシュの処理とオブジェクト指向の使いこなしです。 配列、ハッシュの処理に関しては自前でメソッドを書いてもよいですが、バグの温床になりやすいので、ライブラリを …

no image

phpmdによるコードチェック

現在のプロジェクトですが、コードレビューなどをされる環境にはないため、一人で書いていると自然と規約とずれた書き方になっていることもあります。 規約通りに書こう、書こうと思っていてもなかなかその通りに書 …

no image

テンプレートエンジンTwigについて

SmartyにかわるテンプレートエンジンとしてTwig(ツィッグ)を勉強中。 といってもテンプレートエンジンなので基本的なことはほとんど一緒っぽいですが。 Contents1 インストール2 基本的な …