[RUBY-ON-RAILS] 포맷 날짜를 레일
RUBY-ON-RAILS포맷 날짜를 레일
나는 API에 날짜를 게시하고 다음과 같이 필요한 형식은 다음과 같습니다
2014-12-01T01:29:18
그래서 같은 모델에서 날짜를 얻을 수 있습니다 :
Model.created_at.to_s
그 반환 :
2014-12-01 01:29:18 -0500
어떻게 필요한 T와 형식과 -0500을 제거처럼 포맷을 레일 또는 루비를 사용할 수 있습니까?
해결법
-
==============================
1.사용하다
사용하다
Model.created_at.strftime("%FT%T")
어디,
%F - The ISO 8601 date format (%Y-%m-%d) %T - 24-hour time (%H:%M:%S)
다음 날짜와 당신의 strftime 방법으로 지정할 수 시간 형식의 자주 사용하는 유용한 목록의 일부입니다 :
Date (Year, Month, Day): %Y - Year with century (can be negative, 4 digits at least) -0001, 0000, 1995, 2009, 14292, etc. %C - year / 100 (round down. 20 in 2009) %y - year % 100 (00..99) %m - Month of the year, zero-padded (01..12) %_m blank-padded ( 1..12) %-m no-padded (1..12) %B - The full month name (``January'') %^B uppercased (``JANUARY'') %b - The abbreviated month name (``Jan'') %^b uppercased (``JAN'') %h - Equivalent to %b %d - Day of the month, zero-padded (01..31) %-d no-padded (1..31) %e - Day of the month, blank-padded ( 1..31) %j - Day of the year (001..366) Time (Hour, Minute, Second, Subsecond): %H - Hour of the day, 24-hour clock, zero-padded (00..23) %k - Hour of the day, 24-hour clock, blank-padded ( 0..23) %I - Hour of the day, 12-hour clock, zero-padded (01..12) %l - Hour of the day, 12-hour clock, blank-padded ( 1..12) %P - Meridian indicator, lowercase (``am'' or ``pm'') %p - Meridian indicator, uppercase (``AM'' or ``PM'') %M - Minute of the hour (00..59) %S - Second of the minute (00..59) %L - Millisecond of the second (000..999) %N - Fractional seconds digits, default is 9 digits (nanosecond) %3N millisecond (3 digits) %6N microsecond (6 digits) %9N nanosecond (9 digits) %12N picosecond (12 digits)
의 strftime 방법하시기 바랍니다 방문 APIDock에 대한 형식의 전체 목록은
-
==============================
2.이 시도:
이 시도:
created_at.strftime('%FT%T')
그것은 당신에게 날짜의 문자열 표현을 제시 할 수있는 방법을 제공하는 시간 포맷 기능입니다. (http://ruby-doc.org/core-2.2.1/Time.html#method-i-strftime).
APIdock에서 :
%Y%m%d => 20071119 Calendar date (basic) %F => 2007-11-19 Calendar date (extended) %Y-%m => 2007-11 Calendar date, reduced accuracy, specific month %Y => 2007 Calendar date, reduced accuracy, specific year %C => 20 Calendar date, reduced accuracy, specific century %Y%j => 2007323 Ordinal date (basic) %Y-%j => 2007-323 Ordinal date (extended) %GW%V%u => 2007W471 Week date (basic) %G-W%V-%u => 2007-W47-1 Week date (extended) %GW%V => 2007W47 Week date, reduced accuracy, specific week (basic) %G-W%V => 2007-W47 Week date, reduced accuracy, specific week (extended) %H%M%S => 083748 Local time (basic) %T => 08:37:48 Local time (extended) %H%M => 0837 Local time, reduced accuracy, specific minute (basic) %H:%M => 08:37 Local time, reduced accuracy, specific minute (extended) %H => 08 Local time, reduced accuracy, specific hour %H%M%S,%L => 083748,000 Local time with decimal fraction, comma as decimal sign (basic) %T,%L => 08:37:48,000 Local time with decimal fraction, comma as decimal sign (extended) %H%M%S.%L => 083748.000 Local time with decimal fraction, full stop as decimal sign (basic) %T.%L => 08:37:48.000 Local time with decimal fraction, full stop as decimal sign (extended) %H%M%S%z => 083748-0600 Local time and the difference from UTC (basic) %T%:z => 08:37:48-06:00 Local time and the difference from UTC (extended) %Y%m%dT%H%M%S%z => 20071119T083748-0600 Date and time of day for calendar date (basic) %FT%T%:z => 2007-11-19T08:37:48-06:00 Date and time of day for calendar date (extended) %Y%jT%H%M%S%z => 2007323T083748-0600 Date and time of day for ordinal date (basic) %Y-%jT%T%:z => 2007-323T08:37:48-06:00 Date and time of day for ordinal date (extended) %GW%V%uT%H%M%S%z => 2007W471T083748-0600 Date and time of day for week date (basic) %G-W%V-%uT%T%:z => 2007-W47-1T08:37:48-06:00 Date and time of day for week date (extended) %Y%m%dT%H%M => 20071119T0837 Calendar date and local time (basic) %FT%R => 2007-11-19T08:37 Calendar date and local time (extended) %Y%jT%H%MZ => 2007323T0837Z Ordinal date and UTC of day (basic) %Y-%jT%RZ => 2007-323T08:37Z Ordinal date and UTC of day (extended) %GW%V%uT%H%M%z => 2007W471T0837-0600 Week date and local time and difference from UTC (basic) %G-W%V-%uT%R%:z => 2007-W47-1T08:37-06:00 Week date and local time and difference from UTC (extended)
-
==============================
3.이를 위해 초기화를 만듭니다
이를 위해 초기화를 만듭니다
# config/initializers/time_formats.rb
그것은이 같은 추가 :
Time::DATE_FORMATS[:custom_datetime] = "%d.%m.%Y"
그리고 그것을 다음과 같은 방법을 사용합니다 :
post.updated_at.to_s(:custom_datetime)
⚠️ 귀하의 재시작이 작동하지 서버를 레일에 있습니다.
자세한 내용은 설명서를 참조하십시오 : http://api.rubyonrails.org/v5.1/classes/DateTime.html#method-i-to_formatted_s
-
==============================
4.국제화는 자사의 지역화-방법을 사용할 수 있습니다 버전 2.2에서 시작하여 레일의 핵심 기능이기 때문에. forementioned의 strftime의 %를 적용하여 당신이 원하는 형식을 지정할 수 있습니다 -variables에서 설정 / 로케일 / en.yml (또는 어떤 언어)이 같은 귀하의 경우 :
국제화는 자사의 지역화-방법을 사용할 수 있습니다 버전 2.2에서 시작하여 레일의 핵심 기능이기 때문에. forementioned의 strftime의 %를 적용하여 당신이 원하는 형식을 지정할 수 있습니다 -variables에서 설정 / 로케일 / en.yml (또는 어떤 언어)이 같은 귀하의 경우 :
time: formats: default: '%FT%T'
당신은 몇 가지 특정 장소에서 형식의이 종류를 사용하려는 경우 또는이 같은 변수로 참조 할 수 있습니다
time: formats: specific_format: '%FT%T'
이처럼 뷰에서 사용할 수있는 후 :
l(Mode.last.created_at, format: :specific_format)
from https://stackoverflow.com/questions/22255476/rails-formatting-date by cc-by-sa and MIT license
'RUBY-ON-RAILS' 카테고리의 다른 글
[RUBY-ON-RAILS] LEFT OUTER 레일에 조인 3 (0) | 2020.02.11 |
---|---|
[RUBY-ON-RAILS] 3 모델없이 사용자 정의 SQL 쿼리를 실행 레일 (0) | 2020.02.11 |
[RUBY-ON-RAILS] 컨트롤러에서 다른 컨트롤러 액션을 호출 난간 (0) | 2020.02.11 |
[RUBY-ON-RAILS] 파괴와 삭제의 차이 (0) | 2020.02.11 |
[RUBY-ON-RAILS] ActionController :: InvalidAuthenticityToken (0) | 2020.02.11 |