HOME
100均
DIY
iPhone
karabiner
Math関数
PC関連
PHP
Python
Raspberry Pi
Tkinter
Twitter関連
vim
WordPress
うつ病
たばこ
はじめに
カメラ
ガジェット
コーヒーブレイク
デジタルカメラ
データ型
ファイル操作
フィルムカメラ
フェレット
プログラミング
ベース
リスト操作
写真
動画
変数操作
家電
文字列操作
文法
日付時刻
日時操作
日用品
標準ライブラリ
環境構築
組み込み関数
自転車
辞書操作
配列操作
鉄道
開発環境
関数・クラス
雑記

【PHP】日時の加算・減算をする strtotime()

strtotime関数を使った日付の加算・減算のサンプル

strtotime — 英文形式の日付を Unix タイムスタンプに変換する

説明
strtotime ( string $time [, int $now = time() ] ) : int

この関数は英語の書式での日付を含む文字列が指定されることを期待しており、 now で与えられたその形式から Unix タイムスタンプ (1970 年 1 月 1 日 00:00:00 UTC からの経過秒数) への変換を試みます。 now が指定されていない場合は現在日時に変換します。

この関数の各パラメータでは、パラメータ内でタイムゾーンを指定しない限りはデフォルトのタイムゾーンを使います。 意図的にそうする場合は別として、パラメータごとにタイムゾーンを変えてしまったりしないように気をつけましょう。 デフォルトのタイムゾーンを定義する方法については date_default_timezone_get() を参照ください。

パラメータ

time

日付/時刻 文字列。有効な書式については 日付と時刻の書式 で説明しています。

now

返される値を計算するために使用されるタイムスタンプ。

返り値

成功時はタイムスタンプ、そうでなければ FALSE を返します。 PHP 5.1.0 以前ではこの関数は失敗時に -1 を返します。

コード

PHP
// タイムゾーン設定 date_default_timezone_set('Asia/Tokyo'); // 日付表記を使用した日時の取得例 print_r ( date ( "Y/m/d H:i:s\n", strtotime ( "now" ))); print_r ( date ( "Y/m/d H:i:s\n", strtotime ( "now noon" ))); print_r ( date ( "Y/m/d H:i:s\n", strtotime ( "today" ))); print_r ( date ( "Y/m/d H:i:s\n", strtotime ( "yesterday" ))); echo PHP_EOL; // 日時の加算 print_r ( date ( "Y/m/d H:i:s\n", strtotime ( "+1 day" ))); print_r ( date ( "Y/m/d H:i:s\n", strtotime ( "+1 week" ))); print_r ( date ( "Y/m/d H:i:s\n", strtotime ( "+1 hour" ))); print_r ( date ( "Y/m/d H:i:s\n", strtotime ( "now +1 hour" ))); print_r ( date ( "Y/m/d H:i:s\n", strtotime ( "+3 minute" ))); print_r ( date ( "Y/m/d H:i:s\n", strtotime ( "+10 second" ))); echo PHP_EOL; // 日時の減算 print_r ( date ( "Y/m/d H:i:s\n", strtotime ( "-1 day" ))); print_r ( date ( "Y/m/d H:i:s\n", strtotime ( "-1 week" ))); print_r ( date ( "Y/m/d H:i:s\n", strtotime ( "-1 hour" ))); print_r ( date ( "Y/m/d H:i:s\n", strtotime ( "now -1 hour" ))); print_r ( date ( "Y/m/d H:i:s\n", strtotime ( "-3 minute" ))); print_r ( date ( "Y/m/d H:i:s\n", strtotime ( "-10 second" ))); echo PHP_EOL; // Unixタイムスタンプの取得 print_r ( strtotime ( "2019/01/21 18:20:10" ));

実行結果

実行結果
// 日時表記を使用した日時の取得例 2020/01/21 18:13:50 // "now" 2020/01/21 12:00:00 // "now noon" 2020/01/21 00:00:00 // "today" 2020/01/20 00:00:00 // "yesterday" // 日時の加算 2020/01/22 18:13:50 // "+1 day" 2020/01/28 18:13:50 // "+1 week" 2020/01/21 19:13:50 // "+1 hour" 2020/01/21 19:13:50 // "now +1 hour" 2020/01/21 18:16:50 // "+3 minute" 2020/01/21 18:14:00 // "+10 second" // 日時の減算 2020/01/20 18:13:50 // "-1 day" 2020/01/14 18:13:50 // "-1 week" 2020/01/21 17:13:50 // "-1 hour" 2020/01/21 17:13:50 // "now -1 hour" 2020/01/21 18:10:50 // "-3 minute" 2020/01/21 18:13:40 // "-10 second" // Unixタイムスタンプの取得 1548062410

タイムゾーンを指定していない場合、日時にズレが生じる場合があります。

参考サイト

PHP: strtotime – Manual

この記事がお役に立ちましたら幸いです。

では、また。

※本サイトの漫画やイラストはフィクションであり、実在の製品・団体・人物・地名とは関係ありません。
※本サイトに掲載する情報には充分に注意を払っておりますが、その内容について保証するものではありません。
※本サイトの使用ならびに閲覧によって生じたいかなる損害にも責任を負いかねます。

コメント

タイトルとURLをコピーしました