アーカイブ

‘php’ カテゴリーのアーカイブ

phpで日時を扱う備忘録

2009 年 7 月 2 日 Comments off

現在時刻を取得(例:2009-09-02 13:34)

date( "Y-m-d H:i:s",time());

現在時刻をyyyymmで取得(例:200907)

date( "Ym",time());
Y	年	4桁
y	年	2桁
m	月	2桁
n	月	1桁
d	日	2桁
j	日	1桁
g	時	12時間単位。先頭にゼロを付けない。	1 から 12
G	時	24時間単位。先頭にゼロを付けない。	0 から 23
h	時	数字。12 時間単位。	01 から 12
H	時	数字。24 時間単位。	00 から 23
i	分	先頭にゼロをつける。	00 to 59
s	秒	先頭にゼロをつける。	00 から 59

現在時刻をyyyy年mm月で取得(例:2009年00月)

date( "Y年m月",time());

1週間後 を取得

7 日 * 24 時間 * 60 分 * 60 秒

$nextWeek = time() + (7 * 24 * 60 * 60);
$nextWeek = time() + (7 * 24 * 60 * 60);

先月を取得(例:200701)

function lastMonthYyyymm(){
$yy = date( "Y", time() );
$mm = date( "m", time() );
if($mm=="01"){
$last_yyyymm = mktime( 0, 0, 0, 12, 1, $yy-1 );
}else{
$last_yyyymm = mktime( 0, 0, 0, $mm-1, $dd, $yy );
}
$ret = date( "Ym",$last_yyyymm);
return $ret;
}

データ抽出条件の日付の編集( 過去1年間を抽出 )

$yy = date( "Y", time() );
$mm = date( "m", time() );
$dd = date( "d", time() );
$searchStart = mktime( 0, 0, 0, $mm, $dd + 1, $yy - 1 );
$searchEnd   = mktime( 23, 59, 59, $mm, $dd, $yy);
$sql_where = "where entry_date between '"
.date( "Y-m-d H:i:s.000", $searchStart )."' and '"
.date( "Y-m-d H:i:s.999", $searchEnd ).";";

経過日数の計算

$sYY = substr( $arr[$i]['penalty_date'], 0, 4 );
$sMM = substr( $arr[$i]['penalty_date'], 5, 2 );
$sDD = substr( $arr[$i]['penalty_date'], 8, 2 );
$sMkTime = mktime( 0, 0, 0, $sMM, $sDD, $sYY );
$eYY = substr( $arr[$i]['restart_date'], 0, 4 );
$eMM = substr( $arr[$i]['restart_date'], 5, 2 );
$eDD = substr( $arr[$i]['restart_date'], 8, 2 );
$eMkTime = mktime( 0, 0, 0, $eMM, $eDD, $eYY );
$diffDay[$i] = ( $eMakeTime - $sMkTime ) / ( 60 * 60 * 24 );

月の末日を計算する

参考サイト

http://yumily.jp/yumily/lib/date.inc

スラッシュ区切りの日付の有効チェックを行い,年/月/日に分解後,月/日の桁調整を行う

参考サイト

http://yumily.jp/yumily/lib/date.inc

カテゴリー: php タグ: