2011-10-05 3 views
0

레일즈 3 앱에서 일하고 있으며 개발 환경에서 모든 것이 작동했습니다 벌금. dev 환경은 mysql을 실행하는 Ubuntu 10.10 Desktop입니다. Time location은 유럽 - 런던입니다.레일즈 3, MySQL 프로덕션에서만 mm/dd/yyyy 또는 yyyy-mm-dd 형식의 날짜를 dd/mm/yyyy로 입력해야합니다.

영국 dd/mm/yyyy 형식으로 날짜를 입력 할 수 있으며 아무런 문제없이 데이터베이스에 저장됩니다. MySQL은 날짜를 yyyy-mm-dd 형식으로 저장한다는 것을 알고 있습니다.

그러나 제작시 mm/dd/yyyy 또는 yyyy-mm-dd 형식으로 만 날짜를 입력 할 수 있습니다. 이것은 내부 응용 프로그램이므로 사용자는 분명히 고유 한 형식으로 날짜를 입력하고 싶습니다.

서버는 mysql을 실행하는 Ubuntu 10.10 서버입니다. 시간 위치는 유럽 런던입니다. 어디 선가 발견

나는 쉽게 ("% d 개/%의 m/% Y")를 .strftime를 사용하여 날짜의 표시를 정렬 할 수 있습니다 누군가가 날짜 : DATE_FORMATS 추가 제안 [: 기본] = "%를 d/% m/% Y "를 사용하지 않았습니다.

그리고 다른 곳 Date.strptime (PARAMS [: work_order] [: recieved_date] "% d 개/%의 m/% Y") 추가 제안)

이 실제로 작업 내 개발을 중지했습니다 (I 추가 내이 당신은 아마 설정할 수 있습니다, 컨트롤러의 동작)이 프로덕션 MySQL 서버

SELECT @@lc_time_names; 

을에 당신이 영국에가 표준 무엇인지에 대해 확신 "EN_GB"로 할 수 있습니다

답변

0

실행을 만들 그것은 mysql 구성 파일에서 아마 my.cnf.

http://dev.mysql.com/doc/refman/5.0/en/server-system-variables.html#sysvar_lc_time_names

+0

빠른 답장을 보내 주셔서 감사합니다. 나는 그 명령을 실행했고 그것은 생산과 개발 모두에서 en_US로 설정되어있다. 나는 그것을 사용하여 그것을 변경했습니다 lc_time_names = 'en_GB'; 비록 당신이 게시 한 링크에서 이것은 차이를 만들지는 못했지만 – nickgoddard

+0

그 세션을 위해서만 사용하는 서버에서 실행하면, en_GB가 실제로 올바른 형식인지 여부에 따라 다르지만 글로벌하게 만들어야합니다 dd/mm/yyyy – sunkencity

관련 문제