세이박스

리눅스 서버 시간을 date 명령어로 손쉽게 변경하기

서버,보안
리눅스(linux) 서버에서 날짜를 보는 명령어는 다음과 같다.

[root@ ~]# date
2010. 04. 13. (화) 14:37:05 KST

위와 같이 현재 시간을 표시하게 되는데 위 시간에서 1분만 더 늦추거나 1시간 더 빠르게 등
특정 분,시간 단위로 +,- 하는 방법을 알려 드립니다.

date --set='-30 minutes'
date --set='-1 hours'
date --set='+1 hours'

[root@ ~]# date --set='-2 minutes'
2010. 04. 13. (화) 14:35:06 KST
[root@ ~]# date
2010. 04. 13. (화) 14:35:07 KST

위 예처럼 -2 minutes 경우 현재 시간보다 -2분전으로 변경 됩니다.

하지만 주의 사항으로 crontab 설정에 아래와 같이 특정 시간에 날짜를 받아 와서 갱신 하도록 해 두셨다면
해당 시간에 원래 시간으로 돌아오게 되니 crontab 설정을 확인 하시기 바랍니다.
00 05 * * * /usr/bin/rdate -s time.bora.net

PHP 날짜함수 요일 한글로 표시하기

웹프로그램
 <?
  echo date("m월 d일");
  switch(date("w")) {
   case 0: echo " (일)"; break;
   case 1: echo " (월)"; break;
   case 2: echo " (화)"; break;
   case 3: echo " (수)"; break;
   case 4: echo " (목)"; break;
   case 5: echo " (금)"; break;
   case 6: echo " (토)"; break;
  }
?>
 
결과:
10월 18일 (토)

php에서 날짜 카운터 구현하기.

웹프로그램
// a.php
// select 로 날짜를 입력받음
 
<form method='get' action='b.php'>
 <select name='yy'>
<?php
 for($ii = date('Y'); $ii >= 1900; $ii--) {
?>
  <option value='<?= $ii ?>'> <?= $ii ?> </option>
<?php
 }
?>
 </select>년
 <select name='mm'>
<?php
 for($ii = 1; $ii <= 12; $ii++) {
?>
  <option value='<?= sprintf('%02d', $ii); ?>'> <?= $ii ?> </option>
<?php
 }
?>
 </select>월 
 <select name='dd'>
<?php
 for($ii = 1; $ii <= 31; $ii++) {
?>
  <option value='<?= sprintf('%02d', $ii); ?>'> <?= $ii ?> </option>
<?php
 }
?>
 </select>일
 <input type='submit' value='확인'>
</form>
 
 
// b.php
// 실제 데이타 처리
 
<?php
 $YY = $_GET['yy'];
 $MM = $_GET['mm'];
 $DD = $_GET['dd'];
 $nowdate  = $MM . $DD;
 $cntdate  = '';
 $cntdatem = date('m', mktime(24 - date('H'), 60 - date('i'), 60 - date('s'), $MM - date('m'), $DD - date('d'), date('Y'))); // 남은 월
 $cntdated = date('d', mktime(24 - date('H'), 60 - date('i'), 60 - date('s'), $MM - date('m'), $DD - date('d'), date('Y'))); // 남은 일
 $cntdateh = date('H', mktime(24 - date('H'), 60 - date('i'), 60 - date('s'), $MM - date('m'), $DD - date('d'), date('Y'))); // 남은 시간
 $cntdatei = date('i', mktime(24 - date('H'), 60 - date('i'), 60 - date('s'), $MM - date('m'), $DD - date('d'), date('Y'))); // 남은 분
 $cntdates = date('s', mktime(24 - date('H'), 60 - date('i'), 60 - date('s'), $MM - date('m'), $DD - date('d'), date('Y'))); // 남은 초
 // 남은 월이 Null 이나 0 이 아니라면
 if(!empty($cntdatem) && $cntdatem < 12)
  $cntdate .= $cntdatem ."개월 ";
 // 남은 일이 Null 이나 0 이 아니라면
 if(!empty($cntdated))
  $cntdate .= $cntdated ."일 ";
 // 남은 시간이 Null 이나 0 이 아니라면
 if(!empty($cntdateh))
  $cntdate .= $cntdateh ."시간 ";
 // 남은 분이 Null 이나 0 이 아니라면
 if(!empty($cntdatei))
  $cntdate .= $cntdatei ."분 ";
 // 남은 초가 Null 이나 0 이 아니라면
 if(!empty($cntdates))
  $cntdate .= $cntdates ."초 ";
 if(!strcmp($nowdate, date('md')))
  echo "축하합니다. 오늘이 생일 입니다.";
 else
  echo "생일까지는 앞으로 ". $cntdate ." 남았습니다.";
?>

PHP 이달의 마지막날

웹프로그램

이달의 마지막날 구하기

$last_day = date("t",mktime(0,0,0,$month,1,$year));

PHP time()

웹프로그램

function calcElapsedTime($time)
{

// calculate elapsed time (in seconds!)

$diff = time()-$time;
$daysDiff = floor($diff/60/60/24);
$diff -= $daysDiff*60*60*24;
$hrsDiff = floor($diff/60/60);
$diff -= $hrsDiff*60*60;
$minsDiff = floor($diff/60);
$diff -= $minsDiff*60;
$secsDiff = $diff;

return ('(elapsed time '.$daysDiff.'d '.$hrsDiff.'h '.$minsDiff.'m '.$secsDiff.'s)');

}

MYSQL 7일 기간 텀으로 쿼리 부르기

데이타베이스
SELECT count(*) as num FROM table
WHERE UNIX_FROM(signdate, '%Y-%m-%d') <= DATE_SUB(DATE_FORMAT(curdate(),'%Y-%m-%d'), INTERVAL 7 DAY)

MYSQL 날짜와 시간별 데이타 뽑아내기

데이타베이스
SELECT ex_no, from_unixtime(`reg_date`,'%Y%m%d%H') as hh,
COUNT(ex_no) AS `cnt_reg_date`
FROM expose_log
Where from_unixtime(reg_date,'%Y%m%d%H') >= '04050406'
AND from_unixtime(reg_date,'%Y%m%d%H') <= '04050723'
GROUP BY from_unixtime(`reg_date`,'%Y%m%d%H'), `ex_no`
ORDER BY from_unixtime(`reg_date`,'%Y%m%d%H')