2012-04-11 5 views
-1

어떻게하면 좋을까요 2012-04-11 12:49:14 유닉스 타임 스탬프로?날짜를 타임 스탬프로 변환하는 방법

나는 기본적으로 내 데이터베이스는 다음과 같습니다 날짜/시간을 추가 업데이트

$time = mktime("2012-04-11 12:59:14"); 

$time = strtotime("2012-04-11 12:59:14"); 

편집 을 시도했습니다.

2012-04-11 12:49:14 

유닉스 타임 스탬프로 변환해야하므로 "time ago"기능을 사용할 수 있습니다.

내 테스트는

데이터베이스 입력, 밝혀졌다 -> 1,334,143,355 - -> 그러나에서 현재 시간 (시간())입니다 -> 1334146956로 변환> 2012-04-11 13시 22분 5초

나는 왜 그들이 일치하지 않는지 보지 않겠습니까?

+5

두 번째 예제가 어떤 방식으로 작동하지 않습니까? [나에게 완벽 해 보인다.] (http://codepad.viper-7.com/BpLNII). –

+0

무엇이 작동하지 않습니까? 오류가 있습니까? – liquorvicar

+0

당신은 또한 ['UNIX_TIMESTAMP()'] (http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_unix-timestamp)를 사용하여 MySQL에서 할 수 있습니다. 기능. –

답변

2

불일치 한 시간 오프셋 (일광 절약 시간제)과 같은 문제로 들립니다. 불일치 한 시간 오프셋 (time offset)을 피하기 위해 항상 PHP 나 MySQL의 모든 기능을 사용하는 것이 가장 좋습니다.

1334146484 - 1334142872 = 3612s = 1h 12s 

당신은 UNIX_TIMESTAMP를 사용해야 하나는 유닉스 타임 스탬프 또는 날짜로 저장하는 것을 선호 여부에 따라 삽입하거나 데이터를 검색 할 때 -

INSERT INTO `table` (date_field) VALUES (UNIX_TIMESTAMP('2012-04-11 12:59:14')); 

SELECT UNIX_TIMESTAMP(date_field) FROM `table`; 
+0

완벽, 고맙습니다. – Harry

+0

PHP와 MySQL 모두 동일한 시간대/오프셋 집합을 가지고 있는지 확인하십시오. 또한 새로운 DateTime 클래스를 조사하면 시간대/오프셋을 처리 할 수 ​​있습니다. – liquorvicar

+0

@liquorvicar : ** all ** MySQL 또는 ** all ** PHP를 사용하는 경우 PHP와 MySQL이 동일한 시간대를 사용하는지는 중요하지 않습니다. 권리? – Travesty3

4

진술 $time = strtotime("2012-04-11 12:59:14");은 정상적으로 작동합니다.

는 선언 후

echo $time; 

를 수행합니다.

1

차이점이 다른 시간대에있는 것으로 예상됩니다. 차이점은 예상 결과보다 1 시간 또는 그 이하의 시간 차이입니다. 시간대 또는 UTC에서 시간을 기록/검색하는 것과 같이 원하는 시간에 대해보다 구체적으로 설명해야합니다.

0

$time = strtotime("2012-04-11 12:59:14"); 올바른 옵션입니다.

관련 문제