TOP ▲
itcore TOP プログラムパーツ
uDateGetsumatsu 指定した日(年月)の月末日を返す。 20171203 201712 -> 21071231 | itcore 2017年
PHP
JavaScript
関数
<?php
// 指定した日(年月)の月末日を返す。 20171203 201712 -> 21071231
function uDateGetsumatsu($date_num) {
$yyyymm = substr($date_num, 0, 6); // 201712
return date('Ymt', strtotime("{$yyyymm}01")); // t:末日
}
// 年と付きを数字で指定して月末の日を返す。(2022, 11) -> 30
function uDateGetsumatsu2($yyyy, $m)
{
$yyyymm = $yyyy . substr("0" . $m, -2);
$matsu_dd = date('t', strtotime("{$yyyymm}01")); // t:末日
return $matsu_dd;
}
?>
テスト
<?php include "uDateGetsumatsu.func"; ?>
<?php
$date_num = "20171103"; $ret = uDateGetsumatsu($date_num); echo "date_num=$date_num ret=$ret<br>\n";
$date_num = "20171203"; $ret = uDateGetsumatsu($date_num); echo "date_num=$date_num ret=$ret<br>\n";
$date_num = "201712"; $ret = uDateGetsumatsu($date_num); echo "date_num=$date_num ret=$ret<br>\n";
$date_num = "201902"; $ret = uDateGetsumatsu($date_num); echo "date_num=$date_num ret=$ret<br>\n";
$date_num = "202002"; $ret = uDateGetsumatsu($date_num); echo "date_num=$date_num ret=$ret<br>\n";
$ret = uDateGetsumatsu2(2022,11); echo "ret=$ret<br>\n";
?>
実行結果
date_num=20171103 ret=20171130
date_num=20171203 ret=20171231
date_num=201712 ret=20171231
date_num=201902 ret=20190228
date_num=202002 ret=20200229
ret=30
JavaScript TOP
関数
<?php include_once "uStr0.js"; ?>
<script>
// 指定した日(年月)の月末日を返す。 20171203 201712 -> 21071231
function uDateGetsumatsu(date_num) {
date_num = String(date_num);
var date = new Date(date_num.substr(0, 4), date_num.substr(4, 2), 0); // 日を0とすると月末
return date.getFullYear() + uStr0((date.getMonth() + 1), 2) + uStr0(date.getDate(), 2); // getMonth()は月から1を引いた値になる。月と日は前0埋め。
}
</script>
テスト
<?php include "uDateGetsumatsu.js"; ?>
<script>
document.open();
var date_num = "20181103"; var ret = uDateGetsumatsu(date_num); document.writeln("date_num=" + date_num + " ret=" + ret + "<br>");
var date_num = "20181203"; var ret = uDateGetsumatsu(date_num); document.writeln("date_num=" + date_num + " ret=" + ret + "<br>");
var date_num = "201812"; var ret = uDateGetsumatsu(date_num); document.writeln("date_num=" + date_num + " ret=" + ret + "<br>");
var date_num = "201502"; var ret = uDateGetsumatsu(date_num); document.writeln("date_num=" + date_num + " ret=" + ret + "<br>");
var date_num = "201602"; var ret = uDateGetsumatsu(date_num); document.writeln("date_num=" + date_num + " ret=" + ret + "<br>");
document.close();
</script>
実行結果