黒ブタBLOG

【コピペでOK!】PHPで指定の日時と曜日を取得する方法

どーもこんにちは、黒ブタです。

今日はphpで指定の日時の取得と曜日の取得を行っていきたいと思います。

まずは準備から。

とりあえず、必要なものを変数に格納していきます。

<?php
$week_array = array('日','月','火','水','木','金','土');
$year = date('Y');//4桁
$month = date('n');//1〜12
$month2 = date('m');//01〜12
$day = date('j');//1〜31
$day2 = date('d');//01〜31
?>

ここから色々カスタムしていきます。

まずは現在の日付から。
曜日も取得するので、変数に格納して呼び出していきます。

<?php
$timestamp =mktime(0, 0, 0, $month,$day,$year);
$get_week = date('w', $timestamp);
$today = date('Y年n月j日', mktime(0, 0, 0, $month,$day,$year));
$today_week = $week_array[$get_week];
?>
呼び出し(出力)
<p><?php echo $today;?>(<?php echo $today_week;?>)</p>
ぶっちゃけ日付のみの取得だけでよければ
<p><?php date('Y年n月j日') ?></p>

でokです。

続いて次の日(明日)の日付と曜日取得
ポイントは赤文字の部分

<?php
$timestamp2 =mktime(0, 0, 0, $month,$day + 1 ,$year);
$get_week2 = date('w', $timestamp2);
$next_day = date('Y年n月j日', mktime(0, 0, 0, $month,$day + 1 ,$year));
$next_day_week = $week_array[$get_week2];
?>
<p><?php echo $next_day;?>(<?php echo $next_day_week;?>)</p>
または
<?php $next_day2 = date('Y年n月j日', strtotime('+1 day'));?>
<p><?php echo $next_day2;?>(<?php echo $next_day_week;?>)</p>

どちらも出力結果は同じになります。

続いては1週後(7日後)の日付と曜日取得

<?php
$timestamp3 =mktime(0, 0, 0, $month,$day + 7 ,$year);
$get_week3 = date('w', $timestamp3);
$next_week = date('Y年n月j日', mktime(0, 0, 0, $month,$day + 7 ,$year));
$next_week_week = $week_array[$get_week3];
?>
<?php echo $next_week;?>(<?php echo $next_week_week;?>)
または
<?php $next_week2 = date('Y年n月j日', strtotime('+7 day'));?>
<?php echo $next_week2;?>(<?php echo $next_week_week;?>)
または
<?php $next_week3 = date('Y年n月j日', strtotime('+1 week'));?>
<?php echo $next_week3;?>(<?php echo $next_week_week;?>)

それ以外の日付取得も基本はこれらの応用となります。

月末を取得するには・・・・?
当月の月末の日付と曜日取得

<?php
//指定日(月末)のタイムスタンプを取得
$timestamp4 =mktime(0, 0, 0, $month + 1, 0,$year);
$get_week4 = date('w', $timestamp4);
$end_of_the_month = date('Y年n月j日', mktime(0, 0, 0, $month + 1, 0,$year));
$end_of_the_month2 = date('Y年n月j日', $timestamp4);
$end_of_the_month_week = $week_array[$get_week4];
?>
<p><?php echo $end_of_the_month;?>(<?php echo $end_of_the_month_week;?>)</p>
または
<p><?php echo $end_of_the_month2;?>(<?php echo $end_of_the_month_week;?>)</p>

当月の月初めの日付と曜日取得

<?php
$timestamp5 =mktime(0, 0, 0, $month,+1,$year);
$get_week5 = date('w', $timestamp5);
$beginning_of_the_month = date('Y年n月j日', $timestamp5);
$beginning_of_the_month_week = $week_array[$get_week5];
?>
<?php echo $beginning_of_the_month;?>(<?php echo $beginning_of_the_month_week;?>)

こんな感じです。
基本は$timestampの中身の$month,$day,$yearに「+」「-」の数字を弄れば欲しい日付を取得できます。
あとは好きなように弄ってみてください。