TOP ▲
itcore TOP プログラムパーツ
uDateMonthCalc 年月に月数を足す(マイナスを入れれば引く) uDateMonthCalc(201712, 2) => 201802 | itcore 2017年
PHP
関数
<?php
// 年月に月数を足す(マイナスを入れれば引く) uDateMonthCalc(201712, 2) => 201802
function uDateMonthCalc($yyyymm1, $mm2) {
$yyyy1 = substr($yyyymm1, 0, 4);
$mm1 = substr($yyyymm1, 4, 2);
if (0 == $mm2) return $yyyymm1;
if (0 < $mm2) {
for ($i = 0; $i < $mm2; $i++) {
$mm1++;
if (13 == $mm1) {
$yyyy1++;
$mm1 = 1;
}
}
} else {
for ($i = 0; $i > $mm2; $i--) {
$mm1--;
if (0 == $mm1) {
$yyyy1--;
$mm1 = 12;
}
}
}
return ($yyyy1 * 100 + $mm1);
}
?>
テスト
<?php include "uDateMonthCalc.func"; ?>
<?php
$yyyymm=201712; $mm=2;$ret=uDateMonthCalc($yyyymm, $mm); echo "yyyymm=$yyyymm mm=$mm ret=$ret<br>\n";
$yyyymm=201801; $mm=-25;$ret=uDateMonthCalc($yyyymm, $mm); echo "yyyymm=$yyyymm mm=$mm ret=$ret<br>\n";
?>
実行結果
yyyymm=201712 mm=2 ret=201802
yyyymm=201801 mm=-25 ret=201512