복붙노트

[RUBY-ON-RAILS] JSON과 날짜를 레일

RUBY-ON-RAILS

JSON과 날짜를 레일

나는 페이스 북 응용 프로그램을 실행하고 AJAX / JSON을 사용하고 있습니다.

그러나 반환되는 JSON 구조는이 형식 2010-05-30T06이 : 14 : 00Z합니다.

나는 컨트롤러 행동에 Game.all.to_json를 호출하고 있습니다.

어떻게 그들을 정상적인 날짜 형식으로 변환 할 수 있습니까?

이 서버 측 또는 fbjs를 사용하여 클라이언트 측에서 그것을 쉽게인가? fbjs와 버그가 많이 있습니다.

난 (액티브 레코드)를 사용하여 서버 측에서 솔루션을 사용하여 선호하는 그래서. json으로 구조를 전송하기 전에 데이터를 변환처럼.

해결법

  1. ==============================

    1.내가 반환 된 JSON으로 내 자신의 사용자 지정 형식을 추가하는 방법은 ActiveSupport TimeWithZone 클래스에 원숭이 패치를 추가하는 것이 었습니다.

    내가 반환 된 JSON으로 내 자신의 사용자 지정 형식을 추가하는 방법은 ActiveSupport TimeWithZone 클래스에 원숭이 패치를 추가하는 것이 었습니다.

    는 config에 파일을 추가 / 초기화는 다음과 같은 내용으로 폴더 :

    class ActiveSupport::TimeWithZone
        def as_json(options = {})
            strftime('%Y-%m-%d %H:%M:%S')
        end
    end
    
  2. ==============================

    2.시간대가 IE7을 모든 주요 브라우저에서 작업으로 + :

    시간대가 IE7을 모든 주요 브라우저에서 작업으로 + :

    class ActiveSupport::TimeWithZone
      def as_json(options = {})
        strftime('%Y/%m/%d %H:%M:%S %z')
      end
    end
    
  3. ==============================

    3.레일 이제 DateTime 개체에 .as_json 방법이있다. 인생은 쉽게했다.

    레일 이제 DateTime 개체에 .as_json 방법이있다. 인생은 쉽게했다.

  4. ==============================

    4.클라이언트 측 자바 스크립트와 함께이 작업을 수행하려면이 같은 개별 날짜를 구문 분석 할 수 있습니다 :

    클라이언트 측 자바 스크립트와 함께이 작업을 수행하려면이 같은 개별 날짜를 구문 분석 할 수 있습니다 :

    prettyDate = function(dateString) {
      var day, formatted, jsDate, month;
    
      jsDate = new Date(dateString);
      day = jsDate.getMonth() + 1 < 10 ? "0" + (jsDate.getMonth() + 1) : "" + (jsDate.getMonth() + 1);
      month = jsDate.getDate() < 10 ? "0" + (jsDate.getDate()) : "" + (jsDate.getDate());
    
      formatted = "" + day + "/" + month + "/" + (jsDate.getFullYear());
      return formatted;
    };
    

    당신은 물론 형식의 시간을 필요로하는 경우에는 몇 가지 추가 코드가 필요합니다.

  5. ==============================

    5.당신은 모델에 방법 as_json을 무시할 수 있습니다 :

    당신은 모델에 방법 as_json을 무시할 수 있습니다 :

    class Game
      def as_json(options = {})
        super.merge(time: time.strftime('%d.%m.%Y %H:%M:%S'))
      end
    end
    
  6. ==============================

    6.확실히 쉽게 서버 측에서 그것을 할 수 있습니다. 그런 다음 해당 문자열을 사용하여 JSON을 생성, 원하는 형식, 또는 time.strftime에 넣어하는 GSUB 정규식을 할 수 있습니다.

    확실히 쉽게 서버 측에서 그것을 할 수 있습니다. 그런 다음 해당 문자열을 사용하여 JSON을 생성, 원하는 형식, 또는 time.strftime에 넣어하는 GSUB 정규식을 할 수 있습니다.

  7. ==============================

    7.

    Time.parse < datetime >
    

    간단한.

  8. from https://stackoverflow.com/questions/2937740/rails-dates-with-json by cc-by-sa and MIT license