新ブログ「ごんフラブログG2」

WordPressで始めてみました

[海外]バンドルされた複数のゲーム・PCアプリが購入できるサイト
humblebundle.com


ごんたろうのぼやきトップ

2018年10月24日

【PHP】指定した日時が現在の日時より何日前(過去)かを取得する。

(過去の日数)
年月日を投げて、 投げた日時が現在の日時より何日前かを返すものです。
指定した日時が現在の日時より未来である場合はマイナスを付加して返します。


//指定した日時が現在の日時より何日前かを取得する。
//引数=年、月、日
function getRemainDay($ryear,$rmon,$rday){
$input_date = $ryear."/".$rmon."/".$rday;
$input_time = strtotime($input_date);
$now = strtotime('now');

$date_interval = floor(($now-$input_time) / (60*60*24));

return $date_interval;
}


posted by ごんたろう(Gontaro-Soft) at 17:59 | Comment(0) | PHP

2018年08月01日

【PHP】date関数を使って指定した日にちの1日前を取得する

(数値)年月日を「getPrevDayStr」関数に指定して
指定した日の1日前を取得する。
戻り値は8桁の文字列、年月日。

使い方


echo getPrevDayStr(2018,8,1);//20180731


function getPrevDayStr($sy,$sm,$sd){
$ts_hour=date("G");
$ts_min=date("i");
$ts_sec=date("s");

$sf_year=date("Y",mktime($ts_hour,$ts_min,$ts_sec,intval($sm),intval($sd-1),intval($sy)));
$sf_month=date("n",mktime($ts_hour,$ts_min,$ts_sec,intval($sm),intval($sd-1),intval($sy)));
$sf_date=date("j",mktime($ts_hour,$ts_min,$ts_sec,intval($sm),intval($sd-1),intval($sy)));

$tmp="";
$tmp=sprintf("%04d%02d%02d",$sf_year,$sf_month,$sf_date);

return $tmp;
}


応用:一手間


また、少し一手間を掛けて、
年月日を分けて渡すやり方ではなく、8桁の年月日の値を1つだけ渡して
1日前の日にちを取得する関数。


同じようにgetPrevDayStrを呼び出しているが、
呼び出す前にsubstrで文字列の抽出処理を行っています。




function getPrevDayStrFromYMD($dt){
$sy=substr($dt,0,4);
$sm=substr($dt,4,2);
$sd=substr($dt,6,2);
return getPrevDayStr($sy,$sm,$sd);
}



posted by ごんたろう(Gontaro-Soft) at 17:31 | Comment(0) | PHP

2018年07月30日

【PHP】日時取得のコードを関数化して手間を省く。

日時を取得する関数がありますが、
さらに手を加えて日時取得の手間を軽くします。
関数にフラグを投げて、フラグに適応した
形式で日時を返すというものを作りました。
細かい部分はカスタマイズしてください。




function getDateTime($val=0){
$tmp="";
$ts_year=date("Y");//4桁の西暦
$ts_month=date("n");//月
$ts_date=date("j");//日
$w_youbi=date("w");//曜日 番号(日から順番、初期値0)
$youbi_lists=array('日','月','火','水','木','金','土');
$ts_youbi=$youbi_lists[$w_youbi];//曜日番号から曜日を取得

$ts_hour=date("G");//24時間表記の時間
$ts_min=date("i");//分
$ts_sec=date("s");//秒

//以下sprintfで桁数を調整
$f_ts_month=sprintf("%02d",$ts_month);//
$f_ts_date=sprintf("%02d",$ts_date);//

$f_ts_hour=sprintf("%02d",$ts_hour);//
$f_ts_min=sprintf("%02d",$ts_min);//
$f_ts_sec=sprintf("%02d",$ts_sec);//

//$valなどをフラグに使用して、出力する日時表記をカスタマイズ
//$valのデフォルト値は0とする
switch($val){
case 0:
//年月日時分秒(14桁)を連結した例
$tmp=$ts_year.$f_ts_month.$f_ts_date.$f_ts_hour.$f_ts_min.$f_ts_sec;
break;
case 1:
//年月日(曜日) 時:分:秒
$tmp="{$ts_year}年{$ts_month}月{$ts_date}日({$ts_youbi}) {$ts_hour}:{$ts_min}:{$ts_sec}";
break;
}

return $tmp;
}
echo getDateTime(0);//20180730145013
echo getDateTime(1);//2018年7月30日(月) 14:50:13

posted by ごんたろう(Gontaro-Soft) at 17:36 | Comment(0) | PHP
ブログランキング・にほんブログ村へ
にほんブログ村

インターネット・コンピュータランキング