2011-04-06 8 views
4

시간, 분, 초 및 시간대 오프셋을 포함하여 W3C 형식으로 시간을 렌더링하는 방법은 무엇입니까?W3C 형식의 시간

예 :

1997-07-16T19:20:30+01:00 

업데이트 1

내가 설정/로케일/my_locale.yml의 선언은 다음과 같습니다

time: 
    formats: 
    w3c: %Y-%m-%dT%H:%M 

유일한없는 부분처럼, 오프셋 " +01 : 00 "입니다. 그것을위한 보간 기호는 무엇입니까?

시간대가 이고 이름이이고 % Z로 보간 된 this 참조를 찾았습니다.

그러나 여기서 입니까?

답변

0

시간대를 삽입하려면 오프셋 값을 사용하려면 % z 키 (소문자)를 사용해야합니다.

5

사실 % : z를 사용하여 + 기호를 포함해야합니다. 또한 초를 포함시켜야합니다.

"%Y-%m-%dT%H:%M:%S%:z" 

업데이트 :이 기능은 Ruby 1.9.3 이상에서만 가능하며 이전 버전에서는 % z 형식 토큰을 사용할 수 없습니다.

0

당신은 이미 답을 얻었지만 사용자 로캘에 의존하지 않고 조직에서 정의한 표준에 따라 en.yml과 같은 로케일 파일 외부에 두는 것이 더 좋을 수도 있습니다.

나는 개인적으로 application.rb

의 하단에

Time::DATE_FORMATS[:w3c] = "%Y-%m-%dT%H:%M:%S%:z" 
Date::DATE_FORMATS[:w3c] = "%Y-%m-%d" 

를 추가