0

データ型がDATETIMEであるDOBという名前の列を含むテーブルがあります。問題は、created_atも日時ですが、JSONを介して受信したデータがこの形式であることです

"created_at":"2013-02-02 11:57:42",
"dob":"2013-02-18T18:30:00Z"

両方の日付の形式は異なりますが、どちらも日時データ型です。今、私はDatejsを使用しています

DOB 形式を解析しない日付をフォーマットするには、created_at 形式のみを解析できます。

私は今どうすればいい ?

これがdatejsを介して解析するために私がやっていることです

        if(value.dob != null){
            alert(value.dob);
            d1 = Date.parse(value.dob);
            alert(d1);
            dob = d1.toString("M-d-yyyy");

        }

そして、コンソールに次のエラーが表示されます。

: d1 is null
[Break On This Error]   

dob = d1.toString("M-d-yyyy");

私のコントローラー:

  def get_oi_report_contact
       @contactlist = CaseOiReportMap.select("rc.*").where("case_oi_report_maps.oireport_identifier = ?",identifier)
       .joins("LEFT JOIN case_oi_report_contacts_maps cm on cm.case_oi_report_map_id = case_oi_report_maps.id")
       .joins("LEFT JOIN oi_report_contacts rc on rc.id = cm.oi_report_contact_id ")
       respond_to do |format|
          format.json { render :json => @contactlist.to_json }
       end

  end 

モンキーパッチも使用しました:

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

しかし、うまくいかないようです。

4

1 に答える 1

1

時刻文字列http://www.ruby-doc.org/stdlib-1.9.3/libdoc/date/rdoc/DateTime.html#method-i-strftimestrftimeをフォーマットするために使用します

于 2013-02-02T13:27:37.180 に答える