にゃあ

一瞬でカレンダーを作るためのPHP用関数

1ヶ月のカレンダー(日曜始まり)を作るコードを毎回新しく書いている気がするので、再利用できるようにメモしておく。

function getCalender($today = 'today')
{
	$oneDay = 86400; // 60 secs * 60 mins * 24 hours

	$today     = strtotime($today);
	$firstDate = strtotime(date('Y-m-01', $today));
	$lastDate  = strtotime(date('Y-m-t', $today));

	$lastMonthDays = date('w', $firstDate);
	$thisMonthDays = date('t', $lastDate);
	$nextMonthDays = 6 - date('w', $lastDate);

	$startDate = $firstDate - ( $lastMonthDays * $oneDay );
	$endDate   = $lastDate  + ( $nextMonthDays * $oneDay );

	$calendar = array();

	for ( $date = $startDate; $date <= $endDate; $date += $oneDay )
	{
		$calendar[] = getdate($date);
	}

	return $calendar;
}

使い方

<?php

$calendar = getCalender();

?>
<table>
<?php foreach ( $calendar as $date ): ?>
<?php if ( $date['wday'] == 0 ): ?><tr><?php endif ?>
<td><?php echo $date['mday'] ?></td>
<?php if ( $date['wday'] == 6 ): ?></tr><?php endif ?>
<?php endforeach ?>
</table>

コメント&トラバ

トラックバックを送る

無関係なスパムのトラックバックを防止するため、リンク先で本サイト(suin.asia)への言及が確認されないトラックバックは破棄しています。

トラバURL : http://suin.asia/trackback/493

コメントを書く

お名前* URL
本文*
合い言葉* ←「chalerfepre」と入力して下さい。
* この記事の話題と関係ないコメントはどんな内容でも削除します。(移動できないので)

トラックバック

トラックバックがないのはさみしいにゃん…。

コメント

コメントはないです。誰かコメント書いてよぅ…。

Author

Submenu

Recent Entries

XOOPS Cube Dev Ring

氷川 XOOPS Module 開発室

Recent Comments

Recent Trackbacks