2010-05-13 4 views
1

로 설정하고, 내 모델은 날짜를 제외하고 올바르게 작동합니다. 나는 정의 된 열이 있습니다 설정 된답니다 MySQL의 날짜 컬럼()는 항상 내가 작은 프로젝트에 CodeIgniter를 사용하고 0

null가 아닌

created_at 날짜 시간을 내 모델 코드는 DB-> 삽입에 전달의 배열에 포함

'created_at'=> 시간()

이 날짜 시간 값 0000-00-00 00:00:00을 생성합니다.

내가로 변경하는 경우 : "(.. 시간()") "

'created_at'=> FROM_UNIXTIME"

여전히 0 시간 값을 생성한다.

내가 뭘 잘못하고 있니? 이 필드를 주어진 유닉스 시간으로 어떻게 설정할 수 있습니까? 또한, mysql이 자동으로 TIMESTAMP 컬럼을 설정한다는 것을 알고있다. 나는이 솔루션에 관심이 없다.

은 지금까지 나는 웹이의 완벽한 예를 찾을 수 없습니다.

답변

2

날짜는 두 날짜는 완전히 다른 1월 1일 1970 년 이후의 초 정수 유닉스 타임 스탬프를 생성-같은 시간() YYYY-MM-DD의 문자열이 필요합니다. 그 라인을 따라

date('Y-m-d h:i:s'); 

또는 뭔가 어쨌든 : 당신이 당신의 MySQL의 날짜 필드를 채울 PHP를 사용하려면

당신은 사용해야합니다.

+0

감사합니다. codeigniter 예제에서 활성 레코드 클래스가 유닉스 타임 스탬프를 날짜로 바꾸기 위해 어떤 종류의 마법을 사용하고있는 것처럼 보였습니다. 그리고 난 그냥 오른쪽 열 명명 규칙이나 뭔가가 없다고 생각했습니다. 이제 저는 마술이 없다는 것을 알았습니다. 그들의 예는 단지 정수 날짜 필드를 가정합니다. – Jake

+0

실제로, from_unixtime 접근 방식이 왜 작동하지 않는지에 대한 아이디어가 있습니까? – Jake

+0

@Jake. 활성 레코드는 created_at에 넣은 것을 이스케이프합니다. –

0

것은 now()을 피 설정 파일에 설정 "시간 기준"에 의해 서버의 로컬 타임이나 GMT에 하나를 참조 유닉스 타임 스탬프로 now() 반환 현재 시간을 발생합니다. 당신은 PHP의 time() 기능을 통해이 기능을 사용하여 얻을 수있는 이점이 없다 (각 사용자가 자신의 시간대 설정을 할 수있는 사이트를 실행하는 경우 일반적으로 할 것) GMT에 마스터 시간 기준을 설정하지 않으려면.

관련 문제