2013-03-29 2 views
0

I는 I이 값을 삽입 할 때 표MySql과 PHP의 날짜/시간 차이점은 무엇입니까?

Name      Birth_Date   Register_Date 
--------------------------------------------------------------- 
Ali      1990-03-22    2010-03-1 15:1:42 
Ali1      1991-07-18    2010-03-2 12:44:2 

는, I는 '1990년 3월 22일'등의 문자열로 Birth_Date를 삽입하고, I는 Register_Date 대해 ') (NOW'사용 .

NOW()은 MySql 서버에 따라 현재 datetime을 생성합니다. PHP에서

SELECT YEAR(CURDATE())-YEAR(register_date) ...

, 내가 원한다면 : 나는 현재의 날짜와 Register_Date (그는 등록 된 이후 시간이 경과) 사이의 시간을 얻을 때

지금, 나는 다음을 사용 그게, 나는 현재 날짜를 가져 가야 겠지. date('Y-m-d H:i:s');

제 질문은 MySql 또는 PHP를 통해 날짜 차이 (날짜와 오늘 사이)를 계산하는 것과 차이가 있습니까?

현재 내 로컬 호스트 (XAMPP)에서 CURDATE()date(..)은 같은 날짜를 생성하지만 내 웹 사이트가 온라인 상태가 될 때 다른 사용자에게 동일한 날짜가 생성됩니까?

+0

CURDATE() 연도가 YEAR (register_date)와 동일하기 때문에 SELECT YEAR (CURDATE()) - YEAR (register_date) ... 아무 것도 반환하지 않습니다. –

+0

그러면 0이 아닌, 아무것도 반환하지 않아야합니까? –

+0

@VishwanathDalvi 2013을 무시합니다. 예제 만 제공했지만 2010으로 변경했습니다. –

답변

1

mysql과 PHP 서버가 모두 동일한 시간대에서 작동하고 시계가 올바르게 동기화 된 경우 문제가 발생하지 않습니다.

+0

기본적으로 동일한 시간대에서 작동합니까? 어떻게 이것을 확인할 수 있습니까? –

+0

기본 표준 시간대가 없습니다. 이것은 서버 구성입니다. mysql> SELECT @@ global.time_zone, @@ session.time_zone;'은 mysql 표준 시간대를 확인할 수 있도록 PHP에서 date_default_timezone_get()을 사용하면 시간대를 가져올 수 있습니다. – Ian

+0

나는 mysql에'SYSTEM'을 가지고있다. –

0

PHP 웹 사이트와 DB를 동일한 서버에 업로드하려면 문제가 없을 것이라고 생각하지만 다른 서버를 사용하는 경우 시간 문제가있을 수 있습니다.

이 문제를 방지하려면 모든 서버에서 정확한 시간을 가져올 수 있도록 시간대를 사용하여 시간을 절약하십시오.

관련 문제