[php] 날짜계산
로빈아빠
본문
날짜계산
// 날짜와 날짜 사이의 일수계산하기
round((strtotime('2005-09-23') -strtotime('2004-09-23')) / (60*60*24));
// 해당일자부터 30일후의 날짜를 리턴하는 로직
// 2005년3월 12일 에서 30 후의 날짜 ?
echo date("Ymd", mktime(0,0,0,3,12 + 30,2005))."<br>";
결과 : 20050411
// 요일구하기 Sun Mon Tue Wed Thu Fri Sat
// 0 1 2 3 4 5 6
// array("일", "월", "화", "수", "목", "금", "토");
echo date ("w", mktime ( 0, 0, 0,3,1,2005) ) ;
- 숫자로 리턴
echo date ("D", mktime ( 0, 0, 0,3,2,2005) ) ;
- 영문 3 자로 리턴
PHP 날짜 함수 정리
오늘로부터 5일 후
echo date("Y-m-d",strtotime("+5 day"));
다음은 오늘로부터 3일 전이 되겠습니다.
echo date("Y-m-d",strtotime("-3 day"));
오늘로부터 6주 전
$calyoil = 5 - date("w"); //현재 요일에서 금요일을 구하기 위한 가감
$needday = strtotime("-6 week"); // 6주전
$needday = date("Y-m-d" , strtotime("$calyoil days",$needday));
echo $needday;
윤년
if(29==date('t',mktime(0,0,0,2,1,$year))
echo "윤년";
else echo "윤년아님";
--mktime(시,분,초,월,일,년도)--
그 달의 마지막 날짜 가지고 오기
$lastday = date('t',mktime(0,0,1,$month,1,$year));
금주의 시작일 구하기
$now=date("w");
$m=$now-1;
$start=date("Y-n-d",strtotime("-$m day"));
JavaScript 날짜 정리
Month ( 0 ~ 11까지 정의 된다 ) 현재월을 표시하려면 month -1 하여라 ..
날짜 객체 생성 var today = new Date( 년 , 월 , 일 ) ;
날짜 년 가지고 오기 today.getYear();
날짜 월 가지고 오기 today.getMonth(); ( 현재월 가지고 올경우 +1 )
날짜 일 가지고 오기 today.getDate(); (day 가 아니 getDate 이다)
날짜 월 짜리수 맞추기 위한 if 문 = parseInt(월) < 10 ? “-“ + parseInt(월) : parseInt(월);
Mysql 날짜 함수
select date_sub(now(), interval 5 day);
5일후..
select date_add(now(), interval 5 day);
5일전...
"년월일시분초" 포멧문자열 timpstamp로 변환하기 - phpschool 출처
$num= preg_split ("/\D+/", $ymd,-1,PREG_SPLIT_NO_EMPTY);
숫자 아닌 모든 문자를 구분자로 해서 숫자들을 배열로 리턴하는 팁
// 날짜와 날짜 사이의 일수계산하기
round((strtotime('2005-09-23') -strtotime('2004-09-23')) / (60*60*24));
// 해당일자부터 30일후의 날짜를 리턴하는 로직
// 2005년3월 12일 에서 30 후의 날짜 ?
echo date("Ymd", mktime(0,0,0,3,12 + 30,2005))."<br>";
결과 : 20050411
// 요일구하기 Sun Mon Tue Wed Thu Fri Sat
// 0 1 2 3 4 5 6
// array("일", "월", "화", "수", "목", "금", "토");
echo date ("w", mktime ( 0, 0, 0,3,1,2005) ) ;
- 숫자로 리턴
echo date ("D", mktime ( 0, 0, 0,3,2,2005) ) ;
- 영문 3 자로 리턴
PHP 날짜 함수 정리
오늘로부터 5일 후
echo date("Y-m-d",strtotime("+5 day"));
다음은 오늘로부터 3일 전이 되겠습니다.
echo date("Y-m-d",strtotime("-3 day"));
오늘로부터 6주 전
$calyoil = 5 - date("w"); //현재 요일에서 금요일을 구하기 위한 가감
$needday = strtotime("-6 week"); // 6주전
$needday = date("Y-m-d" , strtotime("$calyoil days",$needday));
echo $needday;
윤년
if(29==date('t',mktime(0,0,0,2,1,$year))
echo "윤년";
else echo "윤년아님";
--mktime(시,분,초,월,일,년도)--
그 달의 마지막 날짜 가지고 오기
$lastday = date('t',mktime(0,0,1,$month,1,$year));
금주의 시작일 구하기
$now=date("w");
$m=$now-1;
$start=date("Y-n-d",strtotime("-$m day"));
JavaScript 날짜 정리
Month ( 0 ~ 11까지 정의 된다 ) 현재월을 표시하려면 month -1 하여라 ..
날짜 객체 생성 var today = new Date( 년 , 월 , 일 ) ;
날짜 년 가지고 오기 today.getYear();
날짜 월 가지고 오기 today.getMonth(); ( 현재월 가지고 올경우 +1 )
날짜 일 가지고 오기 today.getDate(); (day 가 아니 getDate 이다)
날짜 월 짜리수 맞추기 위한 if 문 = parseInt(월) < 10 ? “-“ + parseInt(월) : parseInt(월);
Mysql 날짜 함수
select date_sub(now(), interval 5 day);
5일후..
select date_add(now(), interval 5 day);
5일전...
"년월일시분초" 포멧문자열 timpstamp로 변환하기 - phpschool 출처
<? # 2003-01-31 01:30:59 형식을 TimeStamp 형식으로 변환 # mysql2time() 함수로도 똑같이 변환된다면 괜한 헛짓했나? 아니다. # 각각의 숫자가 순서대로만 나열되어 있으면 구분문자에 상관없음 # "2000년2월3일 12시30분45초" 라든지 "2000年2月3日 12:30:45" 등등 function ymd2time($ymd) { $num= preg_split ("/\D+/", $ymd,-1,PREG_SPLIT_NO_EMPTY); if (!isset($num[1])) $num[1]=0; if (!isset($num[2])) $num[2]=0; if (!isset($num[3])) $num[3]=0; if (!isset($num[4])) $num[4]=0; if (!isset($num[5])) $num[5]=0; return mktime($num[3],$num[4],$num[5],$num[1],$num[2],$num[0]); # 시분초월일년 } //테스트 test("2002-03-31 02:30:39 "); // 요런 건 기본 test("2001/2/3 4/50/59"); test("2000년1월2일 3시40분49초"); test("서기 2003年 04月 22日 이라면 될까"); // 숫자 아닌 문자열 섞여도, 년월일만 있어도 function test($str) { $time= ymd2time($str); echo"원래 문자열=($str)<br>\n"; echo"변환된 time=($time)<br>\n"; echo"변환된 포멧=(".date('Y-m-d H:i:s',$time) .")<br><br>\n"; } ?>
<? // 0000-00-00 00:00:00 형식등을 받아 들여서.. TIMESTAMP 형식으로 변환 function gettime_of_datetime($date,$debug=null) { eregi("(.+)-(.+)-(.+) (.+):(.+):(.+)",$date,$temp); //0000-00-00 00:00:00 //$temp=preg_split(\"/[-,:, ]/\", $date); 이와 같은 방업으로도 가능 $gettime = mktime($temp[4],$temp[5],$temp[6],$temp[2],$temp[3],$temp[1]); if($debug) echo $gettime; return $gettime; } ?>
$num= preg_split ("/\D+/", $ymd,-1,PREG_SPLIT_NO_EMPTY);
숫자 아닌 모든 문자를 구분자로 해서 숫자들을 배열로 리턴하는 팁
관련링크
댓글목록
등록된 댓글이 없습니다.