SORU
15 EKİM 2008, ÇARŞAMBA


Microsoft JSON formatında bir tarih?

JQuery ile Ajax ilk defa deniyorum alıyorum. Benim sayfaya verilerimi alıyorum, ama Tarih için döndürülen JSON veri ile sorun bazı veri türleri yaşıyorum. Temel olarak, bu gibi görünen bir dize geri alıyorum:

/Date(1224043200000)/

Birisi JSON için tamamen yeni - Ne kadar kısa bir tarih için bu format mı format? Bu bir yerde jQuery kodu ele alınmalıdır? jQuery.UI.datepicker eklenti herhangi bir başarı olmadan $.datepicker.formatDate() kullanarak denedim.

BİLGİNİZE: Burada cevaplar burada: bir arada kullanarak buldum çözümü

function getMismatch(id) {
  $.getJSON("Main.aspx?Callback=GetMismatch", 
    { MismatchId: id },

    function (result) {
      $("#AuthMerchId").text(result.AuthorizationMerchantId);
      $("#SttlMerchId").text(result.SettlementMerchantId);
      $("#CreateDate").text(formatJSONDate(Date(result.AppendDts)));
      $("#ExpireDate").text(formatJSONDate(Date(result.ExpiresDts)));
      $("#LastUpdate").text(formatJSONDate(Date(result.LastUpdateDts)));
      $("#LastUpdatedBy").text(result.LastUpdateNt);
      $("#ProcessIn").text(result.ProcessIn);
    }
  );

  return false;
}

function formatJSONDate(jsonDate) {
  var newDate = dateFormat(jsonDate, "mm/dd/yyyy");
  return newDate;
}

Bu çözüm, geri arama yöntemi bir nesne var ve sayfadaki tarih doğru tarih biçimi Kütüphanesi aracılığıyla görüntülenir.

CEVAP
23 ŞUBAT 2010, Salı


Eval gerekli değildir. Bu iyi çalışır:

var date = new Date(parseInt(jsonDate.substr(6)));

Substr fonksiyonu alır "(" bölümü ve parseınt işlevi, tamsayı alır ve yok sayıyor ")/" sonunda. /Tarih Elde edilen sayı Tarih yapıcısı haline geçer.

EDİT: kasıtlı olarak tabanı (parseınt için 2. argüman) bıraktım; my comment below. Ayrıca, ben tamamen Rory's comment kabul: ISO-8601 tarihler bu biçimi genellikle yeni geliştirme için kullanılan olmamalı, Bu nedenle bu eski biçim --. tercih edilir Tarihler ISO 8601 biçimini kullanarak sıralar bir çok alternatif için Json.NET mükemmel library bölümüne bakın.

ISO-8601 biçimlendirilmiş JSON tarih için, Tarih kurucu: dize geçirir

var date = new Date(jsonDate); //no ugly parsing needed; full timezone support

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • ★TheCrono Official Channel★

    ★TheCrono

    3 Mayıs 2014
  • EvilControllers

    EvilControll

    20 Ocak 2008
  • HTC

    HTC

    12 Ocak 2006