> 백엔드 개발 > PHP 튜토리얼 > php와 MySql_php 스킬의 시차 계산 방법에 대한 자세한 설명

php와 MySql_php 스킬의 시차 계산 방법에 대한 자세한 설명

WBOY
풀어 주다: 2016-05-16 20:19:07
원래의
1290명이 탐색했습니다.

PHP에서 시차를 계산하는 것은 때로 귀찮은 일입니다. 하지만 날짜와 시간 함수의 사용법을 익히면 간단해집니다.

최근에 제가 사랑의 스카프를 연구할 때 사랑에 빠진 일수를 계산해야 했습니다. 이를 위해서는 PHP가 매일 날짜를 기준으로 계산해야 합니다.

(1) 데이터베이스가 있으면 쉽죠! MSSQL이라면 트리거를 사용하면 됩니다! MYSQL이라면 특별히 날짜 차이를 계산하는 함수인 datediff()를 사용하면 됩니다! 두 날짜 필드의 차이점을 다른 숫자 필드에 저장하세요. 필요할 때 호출하세요!

(2) 데이터베이스가 없으면 PHP의 시간 및 날짜 기능을 사용해야 합니다!

주요 설명은 다음과 같습니다.

예: 1998년 5월 3일부터 1999-6-5까지의 일수 계산:

코드 복사 코드는 다음과 같습니다.
$startdate=mktime("0","0","0","5","3","1998") $enddate=mktime("0","0","0","6" ,"5","1999"); //얻은 값은 1970-1-1부터 매개변수 시간까지의 총 시간입니다. 그러면 다음 코드가 컴파일하기가 훨씬 쉽습니다. $days=round(($enddate-$startdate)/3600/24) ;
에코 $일;

$days는 획득한 일수입니다.

mktime()의 매개변수가 기본값이면 현재 날짜를 사용한다는 뜻이므로 책을 빌린 날로부터 일수를 계산할 수 있습니다.

마지막으로 SQL 계산 방법에 대해 이야기해 보겠습니다.

DateDiff 기능

설명: 두 날짜 사이의 시간 간격을 반환합니다.

구문:

DateDiff(간격, 날짜1, 날짜2 [, 첫 번째 요일[, 첫 번째 주>)
간격: 필수. date1과 date2 사이의 시간 간격을 계산하는 데 사용되는 문자열 표현식입니다. 값은 설정 섹션을 참조하세요.

date1, date2: 필수입니다. 날짜 표현. 계산에 사용된 두 날짜입니다.

첫째요일: 선택사항. 주의 첫날을 지정하는 상수입니다. 지정하지 않으면 기본값은 일요일입니다. 값은 설정 섹션을 참조하세요.

첫 번째 주: 선택 사항. 해당 연도의 첫 번째 주를 지정하는 상수입니다. 지정하지 않을 경우 기본값은 1월 1일 주가 됩니다. 값은 설정 섹션을 참조하세요.

interval 매개변수는 다음 값을 가질 수 있습니다:

yyyy(연도)
q(분기)
m(월)
y(1년의 일수)
d(일)
w(요일)
와우(주)
h(시간)
n(분)
초(초)
firstdayofweek 매개변수는 다음 값을 가질 수 있습니다:

(다음은 상수값 설명)

vbUseSystem 0 NLS(National Language Support) API 설정을 사용합니다.
vbSunday 1일요일(기본값)
vb월요일 2월 월요일
vb화요일 3주 화요일
vb수요일 4주 수요일
vb목요일 5목요일
vb금요일 6금요일
vb토요일 7토요일
firstweekofyear 매개변수는 다음 값을 가질 수 있습니다:

(다음은 상수값 설명)

vbUseSystem 0 NLS(National Language Support) API 설정을 사용합니다.
vbFirstJan1 1 1월 1일이 포함된 주부터 시작합니다(기본값).
vbFirstFourDays 2는 최소 4일이 있는 새해의 첫 번째 주로 시작됩니다.
vbFirstFullWeek 3은 새해의 첫 번째 주부터 시작됩니다.
설명: DateDiff 함수는 두 날짜 사이에 존재하는 지정된 시간 간격의 수를 결정하는 데 사용됩니다.

예를 들어 DateDiff를 사용하여 두 날짜 사이의 일수 또는 오늘과 올해 마지막 날 사이의 주 수를 계산할 수 있습니다.

date1과 date2 사이의 일수를 계산하려면 "연도 중 일수"("y") 또는 "일수"("d")를 사용할 수 있습니다. 간격이 "요일"("w")인 경우 DateDiff는 두 날짜 사이의 주 수를 반환합니다.

date1이 월요일이면 DateDiff는 date2 이전의 월요일 수를 계산합니다. 이 결과에는 date2가 포함되지만 date1은 포함되지 않습니다.

간격이 "주"("ww")인 경우 DateDiff 함수는 달력 테이블의 두 날짜 사이의 주 수를 반환합니다. 이 함수는 date1과 date2 사이의 일요일 수를 계산합니다.

DateDiff는 date2가 일요일이면 date2를 평가하지만, date1이 일요일이더라도 date1은 평가하지 않습니다.

date1이 date2보다 이후인 경우 DateDiff 함수는 음수를 반환합니다. firstdayofweek 인수는 "w" 및 "ww" 구분 기호를 사용하는 계산에 영향을 줍니다.

date1 또는 date2가 날짜 리터럴인 경우 지정된 연도는 날짜의 고정 부분이 됩니다. 그러나 date1 또는 date2를 따옴표(" ")로 묶고 연도를 생략하면 코드에서 date1 또는 date2 표현식이 평가될 때마다 현재 연도가 삽입됩니다. 이를 통해 여러 해 동안 작동하는 프로그램 코드를 작성할 수 있습니다.

간격이 "연도"("yyyy")인 경우 12월 31일과 다음 해 1월 1일을 비교합니다. 실제로 차이는 단 하루이지만 DateDiff는 1년의 차이를 나타내기 위해 1을 반환합니다.

DatePart 함수

설명: 주어진 날짜에서 지정된 부분을 반환합니다. 문법:

DatePart(간격, 날짜[, firstdayofweek[, firstweekofyear>)
DatePart: function의 구문에는 다음과 같은 매개변수가 있습니다.
간격: 필수. 반환될 시간 간격을 나타내는 문자열 표현식입니다. 값은 설정 섹션을 참조하세요.
날짜: 필수. 평가할 날짜 표현식입니다.
첫 번째 요일: 선택 사항입니다. 주의 첫날을 지정하는 상수입니다. 지정하지 않으면 기본값은 일요일입니다. 값은 설정 섹션을 참조하세요.
첫 번째 주: 선택 사항. 해당 연도의 첫 번째 주를 지정하는 상수입니다. 지정하지 않을 경우 기본값은 1월 1일 주가 됩니다. 값은 설정 섹션을 참조하세요.
간격 매개변수는 다음 값을 가질 수 있습니다: yyyy(연도), q(분기), m(월), y(1년의 일 수), d(일), w(1주의 일 수), ww (주), h(시간), n(분), s(초)

firstdayofweek 매개변수는 다음 값을 가질 수 있습니다.

(다음은 상수값 설명)

vbUseSystem 0 NLS(National Language Support) API 설정을 사용합니다.
vbSunday 1일요일(기본값)
vb월요일 2월 월요일
vb화요일 3주 화요일
vb수요일 4주 수요일
vb목요일 5목요일
vb금요일 6금요일
vb토요일 7토요일
firstweekofyear 매개변수는 다음 값을 가질 수 있습니다:

(다음은 상수값 설명)

vbUseSystem 0 NLS(National Language Support) API 설정을 사용합니다.
vbFirstJan1 1 1월 1일이 포함된 주부터 시작합니다(기본값).
vbFirstFourDays 2는 최소 4일이 있는 새해의 첫 번째 주로 시작됩니다.
vbFirstFullWeek 3은 새해의 첫 번째 주부터 시작됩니다(연도 전체가 아님).
설명: DatePart 함수는 날짜를 계산하고 지정된 시간 간격을 반환하는 데 사용됩니다. 예를 들어 DatePart를 사용하여 요일이나 현재 시간을 계산합니다.

firstdayofweek 매개변수는 "w" 및 "ww" 간격 기호를 사용하는 계산에 영향을 미칩니다.

날짜가 날짜 리터럴인 경우 지정된 연도는 날짜의 고정 부분이 됩니다. 그러나 날짜를 따옴표(" ")로 묶고 연도를 생략하면 코드에서 날짜 식이 평가될 때마다 현재 연도가 삽입됩니다. 이렇게 하면 여러 해 동안 작동하는 프로그램 코드를 작성할 수 있습니다!

위 내용은 이 글의 전체 내용입니다. 모든 분들이 PHP를 능숙하게 마스터하는데 도움이 되었으면 좋겠습니다.

잠시 시간을 내어 기사를 친구들과 공유하거나 댓글을 남겨주세요. 여러분의 지원에 진심으로 감사드립니다!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿