テレットブログ

【PHP】 phpのdate(日付関数)のまとめ

2020年05月15日
image

PHP|data


日付と時刻は、SQLクエリの実行中またはWebサイトなど、PHPで最も頻繁に使用される操作の一部です。
PHPでは定義済み関数を提供します。

日付と時刻に関するPHPの事前定義された関数のいくつかを以下で説明します。
 

1.php date()関数

 

PHPのdate()関数は、タイムスタンプをより読みやすい日付と時刻の形式に変換します。

date()関数とはなにか
コンピューターは、UNIXタイムスタンプと呼ばれる形式で日付と時刻を格納します。これは、Unixエポックの開始(1970年1月1日のグリニッジ標準時の真夜中、つまり1970年1月1日00:00:00 GMT)からの秒数として時間を測定します。
これは人間が読むには実用的でない形式であるため、PHPはタイムスタンプを人間が読みやすく理解しやすい形式に変換します。

$today = date("Y/m/d");

年/月/日 を出力

現在日時

<? php
echo date("Y/m/d h:i:s A");
?>

 

出力:
2020/05/16 12:40:59 AM


2.PHPのtime()関数


time()関数は、現在の時刻をUnixタイムスタンプ(UNIXエポックの開始からの秒数:1970年1月1日00:00:00 GMT)として取得するために使用されます。

 
<? php
$timestamp = time(); 
echo($timestamp); 
?>
 出力
1589557696
 

3.PHP mktime()関数


mktime()関数は、特定の日時のタイムスタンプを作成するために使用されます。
日時が指定されていない場合、現在の日時のタイムスタンプが返されます。

 
<?php
echo mktime(23, 21, 50, 11, 25, 2020); 
?>
 出力
1606314110



4.便利関数メモ

 

1. 1ヶ月マイナス

 

<?php

$date1 = "2020-05-16";
function wareki_minus($date1){

  $wdate = strtotime($date1 . '-01'); // 開始年月をタイムスタンプに
  $wdate = strtotime('-1 month', $wdate);
  $str = date('Y-m-d', $wdate);
  return $str;

}
?>

   

2. 日付を年月日にする

 

<?php
    function date_wareki($str){
        list($year, $month, $day, $time) = preg_split(("/[\s,-]/"), $str );
        $data1wareki = ''.$year.'年'.$month.'月'. $day .'日';
        return $data1wareki;
    }
?>

3.西暦を和暦に(令和対応)

 

<?php
// 西暦 => 和暦
$str = "2020-05-16";
    function wareki($str) {

        list($year, $month, $day) = preg_split(("/[\s,-]/"), $str );
        $data1wareki = ''.$year.'年'.$month.'月'. $day .'日';


        $eras = [
            ['year' => 2018, 'name' => '令和'],
            ['year' => 1988, 'name' => '平成'],
            ['year' => 1925, 'name' => '昭和'],
            ['year' => 1911, 'name' => '大正'],
            ['year' => 1867, 'name' => '明治']
        ];

        foreach($eras as $era) {

            $base_year = $era['year'];
            $era_name = $era['name'];

            if($year > $base_year) {

                $era_year = $year - $base_year;

                if($era_year === 1) {

                    return $era_name .'元年' . $month . '月';

                }

                return $era_name . $era_year .'年' . $month . '月';

            }

        }

        return null;

    }

echo wareki($str);

?>

結果

令和2年05月



4.月の始まりの日(月初日)を知る

 

<?php

$str = "2020-05-16";
function month_start($str){
  return date('Y-m-d', strtotime('first day of ' . $str));
}

echo month_start($date1);
?>

結果:
2020-05-01



5.月の終わりの日(月末)を知る

 

<?php
$str = "2020-05-16";
    function month_last($str){
      return date('Y-m-d', strtotime('last day of ' . $str));
    }

echo month_last($date1);
?>

結果:
2020-05-31
 



6.その日の曜日を取得(知る)

 

<?php
$str = "2020-05-16";
    function getYobi($str){
        list($year, $month, $day) = preg_split(("/[\s,-]/"), $str );
        $datetime = new DateTime();
        $datetime->setDate($year, $month, $day);
        $week = array("日", "月", "火", "水", "木", "金", "土");
        $w = (int)$datetime->format('w');
        return $week[$w];        
    }
echo getYobi($str);
?>

結果



よく使う日付関数の紹介でした。

 


新着記事

image

CodeIgniter3でリダイレクトでセッション消える

2020年10月28日
テストサーバ(http)にて確認していると 管理画面ではセッションが空に!
Read more →
image

防衛省、サイバーセキュリティ担当の防衛技官を募集中月給30万円

2020年10月16日
 防衛省が、サイバーセキュリティに従事する防衛技官を募っている。自衛隊のシステム
Read more →
image

Amazon Echo Auto アマゾンエコーオート 開封&利用一週間レビュー

2020年10月08日
早速アマゾン・エコーオートを購入して車に取り付けて利用してみました! 報道
Read more →
image

【Amazon】アマゾン 年に1度のプライムデー開催情報

2020年10月06日
Amazon プライムデーが開催されます Amazonプライムデー
Read more →
image

Amazonの車載デバイス「Echo Auto」が発売!

2020年10月01日
「OK Google」「Hi Siri」「Hi Mercedes」といった音声に
Read more →
Choose Colour