-
-
date_default_timezone_set('PRC'); //기본 시간대 - echo "오늘:", date ("Y-m-d",time()),"
";
- echo "오늘:",date("Y-m-d",strtotime("18 June 2008")),"
";
- echo "어제:",date("연월일",strtotime("-1일")), "
"
- echo "내일:",date("연월일",strtotime(" 1일")), "
";
- echo "1주일 후:",date("Y-m-d",strtotime(" 1주")), "
";
- echo "1주 0 2일 4시간 2초 후:",date("Y-m-d G:H:s",strtotime(" 1주 2일 4시간 2초")), "
"
- echo " 목요일:",date("Y-m-d",strtotime("다음 목요일")), "
"
- echo "지난 월요일:".date("Y-m-d",strtotime("last Monday" ))."
";
- echo "1개월 전:".date("Y-m-d",strtotime("지난달"))."
";
- echo " 1개월 전 이후: ".date("Y-m-d",strtotime(" 1개월"))."
";
- echo "10년 후:".date("Y-m-d",strtotime(" 10 year") )."
";
- $a = date("w",time()); //오늘의 요일을 가져옵니다
- $startweekdate =date("Y-m-d H :i:s ",strtotime($today)-($a-1)*24*3600); //이번 주 월요일 가져오기
- $endweekdate =date("Y-m-d H:i:s",strtotime( $today) (7 -$a 1)*24*3600); //이번 주의 마지막 날을 구해 다음 주의 첫날이 됩니다
- $endnextweekdate=date("Y-m-d",strtotime($endweekdate) ) 7*24*3600); //다음주 마지막 날
- ?>
-
- $d = time() //보류일
-
$ w = date("w",$d); //오늘은 무슨 요일인가요?
- $d0 = date("Y-m-d",strtotime("-$w day",$d )); //주 시작
- $d6 = date("Y-m-d",strtotime((6-$w)." day",$d)) //주말
- ?>
- $ d = time(); //처리할 날짜
- $w = date("w",$d) //이 요일은 무엇입니까 p>
$d0 = mktime (0,0,0,date("m"),date("d") - $w,date("Y"));//주의 시작
- $d0 = mktime (0,0,0 ,date("m"),date("d") - $w 6,date("Y"));//주말
- ?> ;
- $date = 시간();
$w = 날짜("w",$d)
- $d0 = 날짜( "Y-m-d",strtotime("-$w day",$ date)); //주의 시작
- $d6 = date("Y-m-d",strtotime((6-$w)." day",$date )); //주말
- ?>
- $date1 = date("Y-m-d",strtotime("Sunday")) //주의 시작
- $date2 = date("Y-m-d" ,strtotime("토요일")); //주말
- $ date1 = date("Y-m-d",strtotime("지난 일요일")) //지난 주의 시작
- $date2 = date(" Y-m-d",strtotime("last Saturday")); //지난 주의 끝
- //시스템의 연도 및 월 가져오기
- $tmp_date=date("Ym");
- //Cut 한 해를 마무리
- $tmp_year=substr($tmp_date,0,4);
- // 한 달을 잘라내세요
- $tmp_mon =substr($tmp_date,4,2);
- $tmp_nextmnoth= mktime(0,0,0,$tmp_mon 1,1,$tmp_year);
- $tmp_forwardmnoth=mktime (0,0,0,$tmp_mon-1,1,$tmp_year);
- //가져오기 이번 달의 다음 달
- $fm_next_mnoth=date("Ym",$tmp_nextmonth);
- / /이번 달의 이전 달 가져오기
- $fm_forward_mnoth=date("Ym",$tmp_forwardmonth) ;
- ?>
- $d=array("일","一","둘","셋","넷","다섯","여섯");
- $whatday="week".$d[date("w",strtotime($today))]; //오늘 요일 가져오기
- $time = abs((strtotime("2008- 12-25") - strtotime(date("Y-m-d")))/86400);/두 날짜 사이의 일수 차이를 구합니다
- ?>
-
-
코드 복사
각 유형에 대해 값 범위를 갖고 날짜를 지정합니다. 시간 값의 유효한 형식은 7.3.6 날짜 및 시간 유형에 설명되어 있습니다.
다음은 날짜 함수를 사용한 예입니다.
date_col 값이 지난 30일 이내인 모든 레코드를 선택합니다.
-
- mysql> 테이블에서 항목 선택
- WHERE TO_DAYS(NOW()) - TO_DAYS(date_col) <= 30;
코드 복사 DAYOFWEEK(날짜)
날짜의 요일 인덱스를 반환합니다(1=일요일, 2=월요일, ...7=토요일). 이 인덱스 값은 ODBC 표준에 해당합니다.
- mysql> DAYOFWEEK('1998-02-03')
-
코드 복사
WEEKDAY(날짜)
날짜의 요일 인덱스를 반환합니다(0=월요일, 1=화요일, ...6=일요일).
- mysql> WEEKDAY('1997-10-04 22:23:00')
- -> WEEKDAY('1997-11-05');
- -> 2
-
-
코드 복사
DAYOFMONTH(날짜)
1~31 범위에서 날짜에 해당하는 월의 일자를 반환합니다.
mysql> DAYOFMONTH('1998-02-03') -
-
- 코드 복사
DAYOFYEAR(날짜)
1~366 범위에서 날짜에 대한 연도의 일자를 반환합니다.
mysql> DAYOFYEAR('1998-02-03') ->-
-
- 코드 복사
MONTH(날짜)
1부터 12까지의 범위에서 날짜의 월을 반환합니다.
mysql> MONTH('1998-02-03') -> 2-
-
- 코드 복사
DAYNAME(날짜)
날짜에 대한 요일 이름을 반환합니다.
mysql> DAYNAME("1998-02-05") ->-
-
- 코드 복사
MONTHNAME(날짜)
날짜의 월 이름을 반환합니다.
mysql> MONTHNAME("1998-02-05") ->-
-
- 코드 복사
QUARTER(날짜)
1부터 4까지의 범위에서 날짜에 대한 연도의 분기를 반환합니다.
mysql> QUARTER('98-04-01') -> 2-
-
- 코드 복사
WEEK(날짜)
WEEK(날짜,첫 번째)
일요일이 주의 첫 번째 날인 경우 0~52 범위에서 날짜의 주 번호를 반환하는 단일 인수가 있습니다. WEEK() 형식의 2개 인수는 다음을 허용합니다.
주가 일요일 또는 월요일에 시작하는지 지정합니다. 두 번째 매개변수가 0이면 주가 일요일로 시작되고, 두 번째 매개변수가 1이면 주가 시작됩니다.
월요일부터 시작합니다.
mysql> WEEK('1998-02-20') -> 7 - mysql> 02-20',0);
- -> 7
- mysql> WEEK('1998-02-20',1)
-
-
- 코드 복사
-
YEAR(날짜)
1000에서 9999 사이의 날짜 연도를 반환합니다.
mysql> 연도('98-02-03') 선택 HOUR(시간)
0~23 범위의 시간을 반환합니다.
mysql> select HOUR('10:05:03') MINUTE(시간)
0~59 범위의 분을 반환합니다.
mysql> MINUTE('98-02-03 10:05:03') -> 코드 복사-
-
- SECOND(시간)
0~59 범위의 시간(초)을 반환합니다.
mysql> SECOND('10:05:03') -> 3
코드 복사 -
-
- PERIOD_ADD(P,N)
단계 P에 N개월을 추가합니다(YYMM 또는 YYYYMM 형식). YYYYMM 형식으로 값을 반환합니다. 위상 매개변수 P는 날짜 값이 아닙니다.
mysql> PERIOD_ADD(9801,2) 선택 -> 199803
코드 복사-
-
- PERIOD_DIFF(P1,P2)
기간 P1과 P2 사이의 개월 수를 반환합니다. YYMM 또는 YYYYMM 형식이어야 합니다. 기간 매개변수 P1 및 P2는 날짜 값이 아닙니다.
mysql> PERIOD_DIFF(9802,199703) ->11코드 복사-
-
DATE_ADD(날짜,INTERVAL 표현식 유형)
DATE_SUB(날짜,INTERVAL 표현식 유형)
ADDDATE(날짜,INTERVAL 표현식 유형)
SUBDATE(날짜,INTERVAL 표현식 유형)
이 함수는 날짜 작업을 수행합니다. MySQL 3.22부터는 새로운 기능입니다. ADDDATE() 및 SUBDATE()는 DATE_ADD() 및 DATE_SUB()의 동의어입니다.
MySQL 3.23에서는 DATE_ADD() 및 DATE_SUB() 대신 - 및 -를 사용할 수 있습니다. (예 참조) date는 시작 날짜를 지정하는 날짜입니다.
DATETIME 또는 DATE 값, expr은 시작 날짜에 더하거나 빼는 간격 값을 지정하는 표현식이며, expr은 문자열일 수 있습니다.
"-" 시작은 음의 간격을 나타냅니다. type은 표현식을 해석하는 방법을 지정하는 키워드입니다. 날짜로부터의 EXTRACT(FROM 날짜 유형) 함수
"유형" 간격을 반환합니다. 다음 표는 유형 및 expr 매개변수가 어떻게 관련되어 있는지 보여줍니다. 유형 값은 예상되는 expr 형식을 의미합니다.
SECOND초 SECOND초
MINUTE분 MINUTES
HOUR시간 HOURS시간
요일
월 월 월
년 년
MINUTE_SECOND분 및 초 "MINUTES:SECONDS"
HOUR_MINUTE시간 및 분 "HOURS:MINUTES"
DAY_HOUR 일 및 시간 "DAYS HOURS"
YEAR_MONTH 연도 및 월 "YEARS-MONTHS"
HOUR_SECOND시, 분, "HOURS:MINUTES:SECONDS"
DAY_MINUTE일, 시, 분 "DAYS HOURS:MINUTES"
DAY_SECOND 일, 시, 분, 초 "DAYS HOURS:MINUTES:SECONDS"
MySQL은 expr 형식의 모든 구두점 구분 기호를 허용합니다. 권장 구분 기호가 표시됨을 나타냅니다. 날짜 인수가 DATE 값이고 계산이 다음과 같은 경우
YEAR, MONTH 및 DAY 구성 요소를 포함하며(즉, 시간 구성 요소 없음) 결과는 DATE 값입니다. 그렇지 않으면 결과는 DATETIME 값입니다.
-
- mysql> SELECT "1997-12-31 23:59:59" 간격 1초
- -> 00:00
- mysql> 1일 간격 선택
- -> 1998-01-01
- mysql> SELECT "1998-01-01" - 간격 1초; 🎜>-> 1997-12-31 23:59:59
- mysql> SELECT DATE_ADD("1997-12-31 23:59:59",
- 간격 1초); 1998-01-01 00:00:00
- mysql> SELECT DATE_ADD("1997-12-31 23:59:59",
- 간격 1일)-> 1998-01-01 23:59:59
- mysql> SELECT DATE_ADD("1997-12-31 23:59:59",
- INTERVAL "1:1" MINUTE_SECOND); :01:00
- mysql> SELECT DATE_SUB("1998-01-01 00:00:00",
- INTERVAL "1 1:1:1" DAY_SECOND); 30 22:58:59
- mysql> SELECT DATE_ADD("1998-01-01 00:00:00",
- INTERVAL "-1 10" DAY_HOUR); 14:00:00
- mysql> SELECT DATE_SUB("1998-01-02", INTERVAL 31 DAY)
- -> 1997-12-02
- mysql> SELECT EXTRACT(YEAR FROM "1999- 07-02");
- -> 1999
- mysql> SELECT EXTRACT(YEAR_MONTH FROM "1999-07-02 01:02:03");
- -> 199907
- mysql> SELECT EXTRACT(DAY_MINUTE FROM "1999-07-02 01:02:03");
- -> 20102
-
-
- 코드 복사
-
-
- 너무 짧게 지정하는 경우 간격 값(type 키워드에서 예상하는 간격 부분 제외), MySQL은 간격 값의 가장 왼쪽 부분을 생략한다고 가정합니다. 예를 들어,
DAY_SECOND 유형을 지정하는 경우 expr 값에는 일, 시, 분 및 초 구성요소가 있어야 합니다. "1:10"과 같은 값을 지정하면
MySQL은 일과 시간 부분이 누락되고 값이 분과 초를 나타내는 것으로 가정합니다. 즉, "1:10" DAY_SECOND는 "1:10" MINUTE_SECOND와 동일합니다.
이는 MySQL이 TIME 값을 해석하여 하루 중 시간이 아닌 경과 시간을 나타내는 방식과 모호합니다. 실제로 잘못된 날짜를 사용하는 경우,
결과는 NULL입니다. MONTH, YEAR_MONTH 또는 YEAR를 증가시키고 결과 날짜가 새 달의 최대 일 수보다 큰 경우 해당 일은 새 달의 최대 일 수로 조정됩니다.
mysql> DATE_ADD('1998-01-30', 간격 1개월) ->
코드 복사
-
- 이전 예에서 INTERVAL이라는 단어와 type 키워드는 대소문자를 구분하지 않는다는 점에 유의하세요.
TO_DAYS(날짜)
날짜가 주어지면 일수(0년부터)를 반환합니다.
-
mysql> select TO_DAYS(950501) -> 728779 mysql> 729669
FROM_DAYS(N)
일수 N이 주어지면 DATE 값을 반환합니다.
-
-
-
-
- mysql> select FROM_DAYS(729669)
-> '1997-10-07'
코드 복사
TO_DAYS()는 그레고리력(1582)이 출현하기 이전의 값과 함께 사용하도록 의도되지 않았습니다.
DATE_FORMAT(날짜,형식)
형식 문자열에 따라 날짜 값의 형식을 지정합니다. 형식 문자열에는 다음 수정자를 사용할 수 있습니다. %M 월 이름(1월......12월)
%W 요일 이름 (일요일......토요일)
%D 영어 접두어가 붙은 날짜(1st, 2nd, 3rd 등)
%Y년, 숫자, 4자리
%y 연도, 숫자, 2자리
%a 약식 요일 이름(Sun......Sat)
%d 월의 일수, 숫자(00…31)
%e 해당 월의 일수, 숫자(0…31)
%m 월, 숫자(01…12)
%c 월, 숫자(1…12)
%b 약식 월 이름(Jan......Dec)
%j 1년의 일수 (001……366)
%H 시간(00…23)
%k시간(0~23)
%h시간(01…12)
%I 시간(01…12)
%l시간(1...12)
%i분, 숫자(00…59)
%r 시간, 12시간(hh:mm:ss [AP]M)
%T 시간, 24시간(hh:mm:ss)
%S초(00…59)
%s초(00…59)
%p 오전 또는 오후
%w 일주일의 일수(0=일요일...6=토요일)
%U 요일(0...52), 여기서 일요일은 주의 첫 번째 날입니다.
%u 요일(0...52), 여기서 월요일은 주의 첫 번째 날입니다.
%% 리터럴 "%"입니다.
다른 모든 문자는 해석 없이 결과에 복사됩니다.
-
- mysql> select DATE_FORMAT('1997-10-04 22:23:00', '%W %M %Y'); > '1997년 10월 토요일'
- mysql> select DATE_FORMAT('1997-10-04 22:23:00', '%H:%i:%s'); :00'
- mysql> DATE_FORMAT('1997-10-04 22:23:00',
- '%D %y %a %d %m %b %j')
- -> ; '277년 10월 4일 4일'
- mysql> select DATE_FORMAT('1997-10-04 22:23:00',
- '%H %k %I %r %T %S %w' );
- -> '22 22 10 10:23:00 PM 22:23:00 00 6'
-
-
-
코드 복사
MySQL3 .23에서는 형식 수정자 문자 앞에 %가 필요합니다. 이전 버전의 MySQL에서는 %가 선택 사항이었습니다.
TIME_FORMAT(시간,형식)
이는 위의 DATE_FORMAT() 함수처럼 사용되지만 형식 문자열에는 시, 분, 초를 처리하는 형식 수정자만 포함될 수 있습니다.
다른 수정자는 NULL 값 또는 0을 생성합니다.
날짜()
CURRENT_DATE
함수가 문자열 또는 숫자 컨텍스트에서 사용되는지 여부에 따라 오늘 날짜 값을 'YYYY-MM-DD' 또는 YYYYMMDD 형식으로 반환합니다.
mysql> CURDATE() 선택 - -> '1997-12-15'
- mysql> 🎜>-> 19971215
-
-
- 코드 복사
CURTIME()
CURRENT_TIME
함수가 문자열 또는 숫자 컨텍스트에서 사용되는지 여부에 따라 'HH:MM:SS' 또는 HHMMSS 형식으로 현재 시간 값을 반환합니다.
mysql> 선택 CURTIME() -> '23:50:26' - mysql> 🎜>-> 235026
-
-
- 코드 복사
-
NOW()
시스템 날짜()
CURRENT_TIMESTAMP
함수가 문자열 또는 숫자에 대해 작동하는지 여부에 따라 'YYYY-MM-DD HH:MM:SS' 또는 YYYYMMDDHHMMSS 형식으로 현재 날짜 및 시간을 반환합니다.
컨텍스트가 사용됩니다.
mysql> 지금 선택() -> '1997-12-15 23:50:26' mysql> () 0;-> 19971215235026-
-
- 코드 복사
-
-
UNIX_TIMESTAMP()
UNIX_TIMESTAMP(날짜)
인수 없이 호출하면 Unix 타임스탬프('1970-01-01 00:00:00' GMT 이후의 초 수)를 반환합니다. UNIX_TIMESTAMP()가
'1970-01-01 00:00:00' GMT 이후의 초 수를 반환하는 날짜 매개변수가 호출됩니다. 날짜는 DATE 문자열 또는 DATETIME일 수 있습니다.
문자열, TIMESTAMP 또는 YYMMDD 또는 YYYYMMDD 형식의 현지 시간입니다.
mysql> UNIX_TIMESTAMP()를 선택합니다.
-> 882226357 mysql> select UNIX_TIMESTAMP('1997-10-04 22:23:00') -> 875996580
-
- 코드 복사
-
-
UNIX_TIMESTAMP가 TIMESTAMP 열과 함께 사용되는 경우 함수는 암시적 "string-to-unix-timestamp" 없이 값을 직접 허용합니다. 변신 .
FROM_UNIXTIME(unix_timestamp)
함수가 문자열에 있는지 여부에 따라 unix_timestamp 매개변수가 나타내는 값을 'YYYY-MM-DD HH:MM:SS' 또는 YYYYMMDDHHMMSS 형식으로 반환합니다.
또는 수치적 맥락에서 사용됩니다.
mysql> select FROM_UNIXTIME(875996580) -> '1997-10-04 22:23:00' mysql> FROM_UNIXTIME(875996580) 0; -> 19971004222300-
-
- 코드 복사
-
-
FROM_UNIXTIME(unix_timestamp,형식)
형식 문자열에 따라 형식이 지정된 Unix 타임스탬프를 나타내는 문자열을 반환합니다. 형식에는 DATE_FORMAT() 함수로 나열된 항목이 포함될 수 있습니다.
동일한 수정자.
-
- mysql> select FROM_UNIXTIME(UNIX_TIMESTAMP(),
- '%Y %D %M %h:%i:%s %x');
- -> '1997년 12월 23일 03:43:30 x'
코드 복사
SEC_TO_TIME(초)
시간, 분, 초로 변환된 초 매개변수를 반환합니다. 값은 함수가 문자열인지 숫자인지에 따라 'HH:MM:SS' 또는 HHMMSS 형식으로 지정됩니다.
맥락에서 사용됩니다.
-
- mysql> SEC_TO_TIME(2378) 선택
- -> '00:39:38'
- mysql> ;
- -> 3938
코드 복사
TIME_TO_SEC(시간)
초로 변환된 시간 매개변수를 반환합니다.
-
- mysql> TIME_TO_SEC('22:23:00')
- -> 80580
- mysql> 39:38');
- -> 2378
코드 복사
|