본문 바로가기
PHP 박살내기/PHP

php date 날짜 관련 함수

by 인생여희 2017. 9. 25.
반응형

php date 날짜 관련 함수



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>성공</title>


<style>

#main{
border: black 1px solid;
}
#calendar{
border: black 1px solid;
}

th,tr,td{
border: black 1px solid;
}

</style>
</head>
<body>
<h1 align="center">달력 만들기 - 부제 코딩 습관</h1>

<h4>1. defaults 로 설정되어있는 현재 시간. 객체다</h4>

<?php $date = new DateTime(); print_r($date); ?> <br>

<?php echo $date->date; ?> <br>

<?php echo $date->getTimestamp(); ?> <br>



<h4>2. int time ( void ) 함수 1970년 1월 1일 0시 0분 0초부터 지금까지 지나온 초를 정수형태로 리턴</h4>

<?php

$now_titmestamp = time();

echo $now_titmestamp;

?>

<h4>3. date()는 time()으로 구해진 타임스탬프를 읽기 좋게 포멧팅</h4>

<?php

$now_titmestamp = time();

echo date("Y-m-d h:i:s",$now_titmestamp);

?>


<h4>4. mktime()은 날짜정보를 입력해서 타임스탬프를 구할 수 있는 함수</h4>

<?php
$sec = mktime(0, 0, 0, 9, 1, 2017);
echo '1970년 1월 1일 0시 0분 0초부터 9월 1일 까지의 초:'.$sec;
echo '<br>';

$sec = mktime(0, 0, 0, 9, 1, 2017);
$yoil=date("D",$sec);
echo '9월 첫째 요일:'.$yoil;
echo '<br>';

$sec = mktime(0, 0, 0, 9, 1, 2017);
$firstyouil=date("j",$sec);
echo '9월 첫째 날짜:'.$firstyouil;
echo '<br>';

$sec = mktime(0, 0, 0, 9, 1, 2017);
$lastday=date("t",$sec);
echo '9월 마지막 날짜:'.$lastday;
echo '<br>';


$sec = mktime(0, 0, 0, 9, $lastday, 2017);
$lastyouil=date("D",$sec);
echo '9월 마지막 날짜 요일:'.$lastyouil;
echo '<br>';


$now_time = time();
$month=date("n",$now_time);
echo '이번달은'.$month.'월입니다';
echo '<br>';

$now_time = time();
$week=date("W",$now_time);
echo '이번주는'.$week.'번째 주입니다';
echo '<br>';

//0 (for Sunday) through 6 (for Saturday)
$now_time = time();
$todayyoil=date("w",$now_time);
echo '오늘은'.$todayyoil.'요일 입니다';
echo '<br>';


$daily = array('일','월','화','수','목','금','토');
$date5 = date('w'); //0 ~ 6 숫자 반환
echo $daily[$date5];

?><br>






<h4>5. 날짜 설정하기</h4>

<?php $date = new DateTime('tomorrow'); print_r($date); ?> <br>

<?php $date = new DateTime('March 24,2013'); print_r($date); ?> <br>



<h4>6. 날짜 비교하기1</h4>

<?php
$one = new DateTime('tomorrow');
$two = new DateTime('March 24,2013');

if($one > $two)
{
echo "one 이 two 보다 큽니다 <br>";
}

$diff = $one -> diff($two); print_r($diff);
?><br>



<h4>7. 날짜 비교하기2</h4>

<?php
$date1=date_create("2013-01-01");
$date2=date_create("2013-02-10");
$diff=date_diff($date1,$date2);

// %a outputs the total number of days
echo $diff->format("총 날짜: %a.");
echo "<br>";

// %R outputs + beacause $date2 is after $date1 (a positive interval)
echo $diff->format("총날짜: %R%a.");
echo "<br>";

// %d outputs the number of days that is not already covered by the month
echo $diff->format("Month: %m, days: %d.");
?>

<br>


<h4>8. 요일 구하기</h4>

<?php
$daily = array('일','월','화','수','목','금','토');
$date = date('w'); //0 ~ 6 숫자 반환
echo $daily[$date];
?>


<h4>9. 타임존</h4>

<?php $date3 = new DateTime('now', new DateTimeZone('Asia/Seoul')); print_r($date3); ?><br>
<?php echo $date3->format("Y-m-d H:i"); ?><br>


<?php $date3 = new DateTime('yesterday'); echo '어제 날짜:'.$date3->format("Y-m-d");?><br>
<?php echo '오늘 날짜:'.$date3->format("Y-m-d"); ?><br>
<?php $date3 = new DateTime('tomorrow'); echo '내일 날짜:'.$date3->format("Y-m-d");?>




<h4>10. dateperiod 사용하기</h4>
<?php $period = new dateperiod($two , new DateInterval('P3D'), $one);

foreach($period as $datetime){

printf('<li>%s</li>',$datetime ->format('Y-m-d'));
}

?>
<?php

$yoyill = array("일","월","화","수","목","금","토");

?>


<div id="main">
<div id="top" align="center">
<span> 2017-9-22</span>
</div>


<div id="content" align="center">
<table id="calendar">
<tr>
<?php
$daily = array('일','월','화','수','목','금','토');
$today_yoil = date('w'); //0 ~ 6 숫자 반환
for($i=0;$i<7;$i++){
?>

<th> <?php echo $daily[$i]; ?></th>
<?php
}
?>

</tr>
<!-- 요일 부분 끝 -->


<?php //줄
for($i1=0; $i1<5;$i1++){
?>
<tr>

<?php //칸

for($i2=0;$i2<7;$i2++){

//if(){
?>
<td><?php echo $i2; ?></td>

<?php
//}
}
?>

</tr>
<?php
}
?>
</table>

</div>

</div>


<?php //9월 1일 부터 30일
$daily = array('일','월','화','수','목','금','토');
$sec = mktime(0, 0, 0, 9, 1, 2017);
$firstday=date("j",$sec); //1
$lastday=date("t",$sec); //30
$firstyoil=date("w",$sec); //5 //금
?>

<div id="content" align="center">
<table id="calendar">
<tr>
<?php
$daily_ = array('일','월','화','수','목','금','토');
$today_yoil = date('w'); //0 ~ 6 숫자 반환
for($i=0;$i<7;$i++){
?>

<th> <?php echo $daily_[$i]; ?></th>
<?php
}
?>

</tr>
</table>

<table>
<?php
// 요일 부분 끝

echo '<tr>';
for($firstday;$firstday<$lastday+1;$firstday++){



echo $firstday.' : ' ; // 1
$sec_yoil = mktime(0, 0, 0, 9, $firstday, 2017);
$yoil=date("w",$sec_yoil);
echo $daily[$yoil].'<br>'; //5
};


?>
</table>


</div>

</body>
</html>


반응형

댓글