´Þ·Â, ¿ù~ÀÏ(ÀÏ~¿ù) ±¸°£, ¿äÀϼö µî Á¾ÇÕ |
|
|
 |
13³â Àü |
¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥
¢º ¿ù¿äÀϺÎÅÍ ÀÏ¿äÀϱîÁö ±¸°£º° Ãâ·Â
<?php
$y = 2010;
$m = 4;
sscanf(date('wt',mktime(0,0,0,$m,1,$y)),'%1d%2d',$w,$t); // ½ÃÀÛ¿äÀÏ,ÀüüÀϼö
for ($i=$s=1,$e=(7-$w)%7+1,$l=ceil(($t+$w)/7);$i<=$l;$i++,$s=$e+1,$e=$i<$l?$s+6:$t)
{
printf('%d : %02d/%02d ~ %02d/%02d<br />'."\n",$i,$m,$s,$m,$e);
}
?>
¢¹ ½ÇÇà °á°ú
1 : 04/01 ~ 04/04
2 : 04/05 ~ 04/11
3 : 04/12 ~ 04/18
4 : 04/19 ~ 04/25
5 : 04/26 ~ 04/30
¢º ÀÏ¿äÀϺÎÅÍ ¿ù¿äÀϱîÁö ±¸°£º° Ãâ·Â
<?php
$y = 2010;
$m = 4;
sscanf(date('wt',mktime(0,0,0,$m,1,$y)),'%1d%2d',$w,$t);
for ($i=$s=1,$e=7-$w,$l=ceil(($t+$w)/7);$i<=$l;$i++,$s=$e+1,$e=$i<$l?$s+6:$t)
{
printf('%d : %02d/%02d ~ %02d/%02d<br />'."\n",$i,$m,$s,$m,$e);
}
?>
¢¹ ½ÇÇà °á°ú
1 : 04/01 ~ 04/03
2 : 04/04 ~ 04/10
3 : 04/11 ~ 04/17
4 : 04/18 ~ 04/24
5 : 04/25 ~ 04/30
¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥
* ¹Ýº¹¹® ³» date(), mktime(), strtotime() µîÀÇ ÇÔ¼ö »ç¿ëÀÌ ¾ø¾î ¼Óµµ°¡ ¸Å¿ì ºü¸¨´Ï´Ù.
* óÀ½ ¿äÀÏ°ª, Àϼö ±¸ÇÏ´Â ºÎºÐ ¾Æ·¡ ÄÚµå·Î ¹Ù²Ù¸é? ¸¸³â´Þ·Â!
$mm=array(31,28,31,30,31,30,31,31,30,31,30,31);
if($y%4==0&&$y%100!=0||$y%400==0)$mm[1]++;
$a=($y-1)*365+(int)(($y-1)/4)-(int)(($y-1)/100)+(int)(($y-1)/400)+array_sum(array_slice($mm,0,$m-1))+1;
$w=$a%7;$t=$mm[$m-1];
¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥¡¥
* ¿¹ÀüÀÇ Àå³¼º ÄÚµå Ãß°¡ÇÕ´Ï´Ù.
<?php
$y = 2010;
$m = 4;
sscanf(date('wt',mktime(0,0,0,$m,1,$y)),'%1d%2d',$w,$t);
$c=$t;$l=ceil(($t+$w)/7); // ÁÖÂ÷
for($i=1,$a=array();$i<=$t;$i++)$a[]=$i<10?'0'.$i:$i; // range(1,$t)
for($i=0;$i<$w;$i++){array_unshift($a,' ');$c++;} // ¹è¿ ¾Õ Ãß°¡
for($i=0,$n=7*$l-$c;$i<$n;$i++)array_push($a,' '); // ¹è¿ µÚ Ãß°¡
$a=array_chunk($a,7); // 7°³¾¿ ³ª´©±â
?>
$aÀÇ ¹è¿°ªÀº?
Array
(
[0] => Array
(
[0] =>
[1] =>
[2] =>
[3] =>
[4] => 01
[5] => 02
[6] => 03
)
[1] => Array
(
[0] => 04
[1] => 05
[2] => 06
[3] => 07
[4] => 08
[5] => 09
[6] => 10
)
[2] => Array
(
[0] => 11
[1] => 12
[2] => 13
[3] => 14
[4] => 15
[5] => 16
[6] => 17
)
[3] => Array
(
[0] => 18
[1] => 19
[2] => 20
[3] => 21
[4] => 22
[5] => 23
[6] => 24
)
[4] => Array
(
[0] => 25
[1] => 26
[2] => 27
[3] => 28
[4] => 29
[5] => 30
[6] =>
)
)
¢¹ ¹è¿°ªÀÌ ÀÌ·¸´Ùº¸´Ï ´Ù¾çÇÏ°Ô È°¿ëÀÌ °¡´ÉÇÕ´Ï´Ù.
¡¡ ¿¹¸¦ µé¾î ´Þ·Â Ãâ·ÂÀº ¾Æ·¡Ã³·³ ÇÏ¸é µÇÁÒ.
- ÄÚµå
$cal = 'Su Mo Tu We Th Fr Sa'."\n";
foreach($a as $k=>$v)$cal.=implode(' ',$v)."\n";
echo '<xmp style="font-family:GulimChe;">'.$cal.'</xmp>';
- ½ÇÇà °á°ú
Su Mo Tu We Th Fr Sa
01 02 03
04 05 06 07 08 09 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30
(ÆùÆ®°¡ °íÁ¤ÆøÀÌ ¾Æ´Ï¶ó¡¤¡¤¡¤ ¤Ð_¤Ð)
(Âü°í·Î ¸®´ª½º¿¡¼´Â cal ¸í·É ÀÌ¿ëÇϸé ÆíÇÕ´Ï´Ù. $cal = `cal`; // »ç¿ë¹ýÀº ¾Ë¾Æ¼¡¤¡¤¡¤.)
½ºÅ¸ÀÏ Àû¿ëÀ¸·Î ±ò²ûÇÑ ´Þ·ÂÀ» ¸¸µé¾îº¸¼¼¿ä. '-');
¢¹ ÁöÁ¤ÇÑ ¿äÀÏÀÌ ¸çÄ¥ ÀÖ³ª?
- ÄÚµå
$dw = 4; // ¸ñ¿äÀÏ (0:ÀÏ~6:Åä)
$dc = 0;
foreach($a as $k=>$v) if(trim($v[$dw]))$dc++;
echo $dc;
- ½ÇÇà°á°ú
5
¹¹ ÀÌ·± ½ÄÀ¸·Î È°¿ëÇÏ¸é µË´Ï´Ù. ÀÌ»ó ³¡.
¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡
¢º ¸¸³â´Þ·Â
$y : ³â
$m : ¿ù
$a : °¢ ´ÞÀÇ ³¯¼ö
$a[$m-1] : ÇØ´ç ¿ùÀÇ ³¯¼ö
$b : 1³â 1¿ù 1ÀϺÎÅÍ ÁöÁ¤ÇÑ ³¯Â¥(³â,¿ù)±îÁöÀÇ ³¯¼ö
$w : ÁöÁ¤ÇÑ ¿ùÀÇ 1ÀÏ ¿äÀÏ°ª (0:ÀÏ,1:¿ù,~,5:±Ý,6:Åä)
$l : ÇØ´ç ¿ùÀÇ ÃÑ ÁÖ (¹Ýº¹ Ƚ¼ö)
$r : ¹Ýȯ°ª
for()³»¿¡¼,
$s : ½ÃÀÛÀÏ
$e : Á¾·áÀÏ
$o : ÁÖº° ÀÓ½Ã
<?php
function calendar($y,$m)
{
$a=array(31,28,31,30,31,30,31,31,30,31,30,31);
if($y%4==0&&$y%100!=0||$y%400==0)$a[1]++;
$b=($y-1)*365+(int)(($y-1)/4)-(int)(($y-1)/100)+(int)(($y-1)/400)+1;
$b+=array_sum(array_slice($a,0,$m-1));$w=$b%7;$l=ceil(($a[$m-1]+$w)/7);
$r=str_pad(sprintf('%04d³â%02dÀÏ',$y,$m),20,' ',STR_PAD_BOTH)."\n";
$r.='ÀÏ ¿ù È ¼ö ¸ñ ±Ý Åä'."\n".str_repeat(' ',$w); // °ø¹é3Ä
for ($i=$s=1,$e=7-$w;$i<=$l;$i++,$s=$e+1,$e=$i<$l?$s+6:$a[$m-1])
{
for($j=$s,$o='';$j<=$e;$j++)$o.=sprintf('%02d ',$j);
$r.=rtrim($o);if($i<$l)$r.="\n";
}
return $r;
}
echo '<xmp style="font-family:GulimChe;">'.calendar(2010,4).'</xmp>';
?>
¢¹ ½ÇÇà °á°ú
2010³â04ÀÏ
ÀÏ ¿ù È ¼ö ¸ñ ±Ý Åä
01 02 03
04 05 06 07 08 09 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30
(°íÁ¤Æø ±Û²ÃÀÌ ¾Æ´Ï¶ó ´ëÃæ Á¶Á¤)
¢¹ Âü°í
À§¿¡µµ Àû¾ú¾úÁö¸¸ Linux µî¿¡¼´Â ¾Æ·¡Ã³·³ ´Þ·ÂÀ» ±¸ÇÒ ¼ö ÀÖ½À´Ï´Ù.
<?php
$calendar = `cal 4 2010`;
echo '<xmp style="font-family:GulimChe;">'.$calendar.'</xmp>';
?>
April 2010
Su Mo Tu We Th Fr Sa
¡¡¡¡¡¡¡¡¡¡¡¡¡¡1¡¡2¡¡3
4¡¡5¡¡6¡¡7¡¡8¡¡9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30
¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡
¢º ÁöÁ¤ÇÑ ³¯Â¥ »çÀÌ¿¡ ÁöÁ¤ÇÑ ¿äÀÏÀÌ ¸çÄ¥ Àִ°¡?
<?php
function get_wc($s,$e,$w)
{
$y=date('w',$t=strtotime($s));$g=(strtotime($e)-$t)/86400+1;
for($i=$c=0,$n=$y;$i<$g;$i++,$n=++$n%7)if($w==$n)$c++;
return $c;
}
echo get_wc('2010-04-01','2010-04-30',0).'<br />'; // 4
echo get_wc('2010-04-01','2010-04-30',4).'<br />'; // 5
?> |
|
̵̧ : 703 |
̵̧
¸ñ·Ï
|
|