PHP에서 시차를 계산하는 것은 때때로 번거로울 수 있습니다! 하지만 날짜와 시간의 사용법 함수만 익히면 간단해집니다.
최근에 사랑의 스카프를 공부하면서 사랑에 빠진 일수를 계산해야 했습니다. 이를 위해서는 PHP가 매일 날짜를 기준으로 계산해야 합니다. 이 날짜 계산을 수행하는 몇 가지 방법에 대해 이야기해 보겠습니다. 1) 데이터베이스가 있다면 아주 쉽습니다! MSSQL이라면 트리거를 사용하면 됩니다! MYSQL이라면 두 날짜 필드의 차이를 이용해 계산하면 됩니다! 결과를 다른 숫자 필드에 저장하세요. 필요할 때 바로 호출하세요!
(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) ; echo $days;
마지막으로 SQL 계산 방법에 대해 이야기해 보겠습니다.
DateDiff 함수
설명: 두 날짜 사이의 시간 간격을 반환합니다.
구문:
코드는 다음과 같습니다:
DateDiff(interval, date1, date2 [,firstdayofweek[, firstweekofyear>)
, date1과 date2 사이의 시간 간격을 나타냅니다. 값은 설정 섹션을 참조하세요. date1, date2: 필수입니다. 날짜 표현. 계산에 사용된 두 날짜입니다. 첫째요일: 선택사항. 주의 첫날을 지정하는 상수입니다. 지정하지 않으면 기본값은 일요일입니다. 값은 설정 섹션을 참조하세요.
첫 번째 주: 선택 사항. 해당 연도의 첫 번째 주를 지정하는 상수입니다. 지정하지 않을 경우 기본값은 1월 1일 주가 됩니다. 값은 설정 섹션을 참조하세요.
interval 매개변수는 다음 값을 가질 수 있습니다:
yyyy(연도), q(분기), m(월), y(1년의 일 수), d(일), w(1주의 일 수) ), ww(주), h(시), n(분), s(초)
firstdayofweek 매개변수는 다음과 같은 값을 가질 수 있습니다.
(다음은 상수 값 설명)
vbUseSystem 0 지역별 언어 지원 사용( NLS) API 설정.
vbSunday 1 Sunday (기본값)
vbMonday 2 Monday
vbTuesday 3 Tuesday
vbWednesday 4 Wednesday
vbThursday 5 목요일
vbFriday 6 Friday
vbSaturday 7 Saturday
firstweekofyear 매개변수는 다음과 같은 값을 가질 수 있습니다. 설명 )
vbUseSystem 0 NLS(로케일 언어 지원) 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(interval, date[, firstdayofweek[, firstweekofyear>)
DatePart: 函数的语法有以下参数:
interval: 必选。字符串表达式,表示要返回的时间间隔。有关数值,请参阅“设置”部分。
date: 必选。要计算的日期表达式。
firstdayof week: 可选。指定星期中的第一天的常数。如果没有指定,则默认为星期日。有关数值,请参阅“设置”部分。
firstweekofyear: 可选。指定一年中第一周的常数。如果没有指定,则默认为 1 月 1 日所在的星期。有关数值,请参阅“设置”部分。
interval 参数可以有以下值:
yyyy (年) 、q (季度) 、m (月) 、y (一年的日数) 、d (日) 、w (一周的日数) 、ww (周) 、h (小时) 、n (分钟) 、s (秒)
firstdayofweek 参数可以有以下值:
(以下分别为:常数 值 描述)
vbUseSystem 0 使用区域语言支持 (NLS) API 设置。
vbSunday 1 星期日(默认)
vbMonday 2 星期一
vbTuesday 3 星期二
vbWednesday 4 星期三
vbThursday 5 星期四
vbFriday 6 星期五
vbSaturday 7 星期六
firstweekofyear 参数可以有以下值:
(以下分别为:常数 值 描述)
vbUseSystem 0 使用区域语言支持 (NLS) API 设置。
vbFirstJan1 1 由 1 月 1 日所在的星期开始(默认)。
vbFirstFourDays 2 由在新年中至少有四天的第一周开始。
vbFirstFullWeek 3 由在新的一年中第一个完整的周(不跨年度)开始。
说明:DatePart 函数用于计算日期并返回指定的时间间隔。例如使用 DatePart 计算某一天是星期几或当前的时间。
firstdayofweek 参数会影响使用“w”和“ww”间隔符号的计算。
如果 date 是日期文字,则指定的年度会成为日期的固定部分。但是如果 date 被包含在引号 (” “) 中,并且省略年份,则在代码中每次计算 date 表达式时,将插入当前年份。这样就可以编写适用于不同年份的程序代码!
위 내용은 PHP와 MySql에서 시차를 계산하는 방법의 코드 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!