2014-02-27 1 views
1
사이의 정수 '요일'나는 MySQL과 PHP 사이의 숫자 '요일'을 일치하는 최선의 방법을 결정할 수 없습니다

일치 PHP와 MySQL

PHP

$date = strtotime('2014-02-15'); 
$day_number = $day_of_week = date("w", $date); 
$day = $day_of_week = date('l', $date); 

echo $day." ".$day_number; 

출력 토요일 6

MySQL의

SELECT DAYOFWEEK( '2014-02-15'); 
,

출력 : 7

SELECT WEEKDAY( '2014-02-15'); 

출력 : 5

내 자신의 사용자 정의 함수를 작성하지 않고이 숫자를 일치 할 수있는 방법이 있나요?

답변

7

DAYOFWEEK는 다음과 같은 응답이있다 (일요일) ~ 6 (토요일)

date('w') + 1을 사용하면 두 가지 모두에서 같은 대답을 얻을 수 있습니다. 날짜`에 대한 확인

http://www.php.net/manual/en/function.date.php

http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_dayofweek

+0

는 ('w') + 1 '은 DAYOFWEEK'하지만''에 해당 날짜 ('N') % 7 '이 올바르지 않습니다 (일요일의 경우 DAYOFWEEK가 1을 반환하는 반면 DAYOFWEEK가 1을 반환하는 경우) – AlterPHP

+0

@AlterPHP 예, 맞습니다. 어떻게 혼합했는지, 다른 사람이 그것을 잡았는지 확실하지 않습니다. – Pitchinnate

3
SELECT DATE_FORMAT( '2014-02-15', '%w') 

출력 : (1 = 일요일 2 = 월요일, ..., 7 = 토요일)

와 PHP date('w');에서

다음과 같은 응답을 가지고 : 0 6

+1

난 여전히 다양한 MySQL의 기능의 inconsitency에 충격을 해요 ... –