2014-11-14 3 views
0

나는이처럼 내 text_field에서 날짜 형식을 가지고있다 -> 2014년 11월 14일 20시 45분 0초변경 날짜 형식은 4

나는 내가 절약 할 수있는 방법 레일 4에 내 데이터베이스에 입력합니다 그것은 내 데이터베이스 열 유형 "datetime"에서 아주 쉬운 방법?.

나는 아래의 방법을 시도했지만 작동하지 않는 것 같습니다.

params[:task_assign][:task_assign_scheduled_on]=DateTime.civil(
params[:task_assign][:"task_assign_scheduled_on(1i)"].to_i, 
params[:task_assign][:"task_assign_scheduled_on(2i)"].to_i, 
params[:task_assign][:"task_assign_scheduled_on(3i)"].to_i, 
params[:task_assign][:"task_assign_scheduled_on(4i)"].to_i, 
params[:task_assign][:"task_assign_scheduled_on(5i)"].to_i) 
+0

어떤 형식을 사용 하시겠습니까? 말로, 몇 달 또는 무엇? –

+0

@AhmedElassuty 텍스트 필드 값 2014-11-14 20:45:00에서 데이터베이스에 저장하려고합니다. – samarth

답변

1

posgres에서 데이터베이스는 실제로 형식은 더 이상 캐스팅없이 저장되지만 당신은

"2014-11-14 20:45:00".to_datetime 

--> Fri, 14 Nov 2014 20:45:00 +0000 

그러나 또한이 형식 아닌 도움이된다면 to_datetime를 사용하려고 할 수 있습니다 귀하의 데이터베이스에 저장되므로 형식을 직접 저장하지 않아도됩니다.

당신이 날짜 열이 데이터베이스를 형성 얻기 위해 노력하는 경우는 다음과 같이 표시됩니다

Fri, 14 Nov 2014 14:44:03 UTC +00:00 

그 다른 하나의 데이터베이스에서 다른 또는 worng 무엇인가하는 핸들 액티브로 존재하는 경우 나도 몰라 자동으로.

+0

형식의 형식을 원하지는 않지만 코드에서 내 잘못을 알아야합니다. 감사합니다 btw :) – samarth

1

ActiveRecord는 레코드를 지속 할 때 유효한 DateTime 문자열을 자동으로 변환합니다. DB에 저장되는 형식은 사용중인 DB와 설정에 따라 다릅니다. 일반적으로 PG는 모든 DateTime을 UTC DateTime 문자열로 저장합니다.

특정 형식으로 DateTime을 저장하려면 DB 설정을 업데이트하거나 속성을 문자열로 저장해야합니다.

+0

나는 MySQL을 사용합니다. 그것은 또한 같은 방식으로 작동합니다. 지금 문제가 해결되었습니다. – samarth