jquery - मैं एक Microsoft JSON दिनांक कैसे प्रारूपित करूं?




asp.net ajax (25)

मैं jQuery के साथ Ajax अपनी पहली दरार ले रहा हूँ। मुझे अपना डेटा मेरे पृष्ठ पर मिल रहा है, लेकिन मुझे JSON डेटा के साथ कुछ परेशानी हो रही है जो दिनांक डेटा प्रकारों के लिए वापस आती है। असल में, मुझे एक स्ट्रिंग बैक मिल रहा है जो इस तरह दिखता है:

/Date(1224043200000)/

किसी से पूरी तरह से नया JSON तक - मैं इसे एक लघु तिथि प्रारूप में कैसे प्रारूपित करूं? इसे jQuery कोड में कहीं कहीं संभाला जाना चाहिए? मैंने jQuery.UI.datepicker प्लगइन को किसी भी सफलता के बिना $.datepicker.formatDate() का उपयोग करने का प्रयास किया है।

एफवाईआई: यहां दिए गए समाधान का जवाब यहां दिए गए उत्तरों के संयोजन के साथ आया है:

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;
}

इस समाधान ने मेरी ऑब्जेक्ट को कॉलबैक विधि से प्राप्त किया और दिनांक प्रारूप लाइब्रेरी का उपयोग करके पेज पर तारीखों को सही तरीके से प्रदर्शित किया।


Answers

तारीख आईएसओ मानक की जांच करें; इस तरह की तरह:

yyyy.MM.ddThh:mm

यह 2008.11.20T22:18 बन जाता है।


मैंने "इनलाइन स्क्रिप्ट में ऑब्जेक्ट्स लिखते समय Microsoft serializer द्वारा जेनरेट किए गए लोगों से छुटकारा पाने के लिए" पैनोस की नियमित अभिव्यक्ति में वर्ण जोड़ना समाप्त कर दिया:

तो अगर आपके पास आपके सी # code-behind में एक संपत्ति है code-behind ऐसा कुछ है

protected string JsonObject { get { return jsSerialiser.Serialize(_myObject); }}

और आपके एएसपीएक्स में आपके पास है

<script type="text/javascript">
    var myObject = '<%= JsonObject %>';
</script>

आपको कुछ मिल जाएगा

var myObject = '{"StartDate":"\/Date(1255131630400)\/"}';

डबल कोट्स पर ध्यान दें।

इसे एक ऐसे रूप में प्राप्त करने के लिए जो eval सही ढंग से deserialize होगा, मैंने उपयोग किया:

myObject = myObject.replace(/"\/Date\((\d+)\)\/"/g, 'new Date($1)');

मैं Prototype का उपयोग करता हूं और इसका उपयोग करने के लिए मैंने जोड़ा

String.prototype.evalJSONWithDates = function() {
    var jsonWithDates = this.replace(/"\/Date\((\d+)\)\/"/g, 'new Date($1)');
    return jsonWithDates.evalJSON(true);
}

Eval आवश्यक नहीं है। यह ठीक काम करेगा:

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

सबस्ट्रेट फ़ंक्शन "/ दिनांक (" भाग लेता है, और parseInt फ़ंक्शन पूर्णांक प्राप्त करता है और अंत में ") /" को अनदेखा करता है। परिणामी संख्या तिथि कन्स्ट्रक्टर में पारित की जाती है।

संपादित करें: मैंने जानबूझकर रेडिक्स छोड़ दिया है (parseInt के लिए दूसरा तर्क); नीचे मेरी टिप्पणी देखें । इसके अलावा, मैं रोरी की टिप्पणी से पूरी तरह से सहमत हूं: इस पुराने प्रारूप पर आईएसओ -8601 तिथियों को प्राथमिकता दी जाती है - इसलिए इस प्रारूप को आम तौर पर नए विकास के लिए उपयोग नहीं किया जाना चाहिए। उत्कृष्ट Json.NET लाइब्रेरी को एक शानदार विकल्प के लिए देखें जो Json.NET प्रारूप का उपयोग कर तिथियों को क्रमबद्ध करता है।

आईएसओ -8601 स्वरूपित JSON तिथियों के लिए, बस स्ट्रिंग को दिनांक निर्माता में पास करें:

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

न्यूटॉन्सॉफ्ट Json.NET का उपयोग करने वालों के लिए , IE8, फ़ायरफ़ॉक्स 3.5 प्लस जेसन . NET में मूल JSON के माध्यम से इसे कैसे करें, इसे पढ़ें

Json.NET द्वारा लिखित तिथियों के प्रारूप को बदलने पर भी दस्तावेज़ उपयोगी है: Json.NET के साथ दिनांकों को क्रमबद्ध करना

उन लोगों के लिए जो बहुत आलसी हैं, यहां त्वरित कदम हैं। चूंकि JSON के पास ढीला डेटटाइम कार्यान्वयन है, इसलिए आपको IsoDateTimeConverter() का उपयोग करने की आवश्यकता है। ध्यान दें कि Json.NET 4.5 के बाद डिफ़ॉल्ट दिनांक प्रारूप आईएसओ है इसलिए नीचे दिया गया कोड आवश्यक नहीं है।

string jsonText = JsonConvert.SerializeObject(p, new IsoDateTimeConverter());

जेएसओएन के माध्यम से आ जाएगा

"fieldName": "2009-04-12T20:44:55"

अंत में, आईएसओ दिनांक को जावास्क्रिप्ट दिनांक में बदलने के लिए कुछ जावास्क्रिप्ट:

function isoDateReviver(value) {
  if (typeof value === 'string') {
    var a = /^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}(?:\.\d*)?)(?:([\+-])(\d{2})\:(\d{2}))?Z?$/.exec(value);
      if (a) {
        var utcMilliseconds = Date.UTC(+a[1], +a[2] - 1, +a[3], +a[4], +a[5], +a[6]);
        return new Date(utcMilliseconds);
      }
  }
  return value;
}

मैंने इसे इस तरह इस्तेमाल किया

$("<span />").text(isoDateReviver(item.fieldName).toLocaleString()).appendTo("#" + divName);

मुझे भी इस समस्या का समाधान खोजना पड़ा और आखिरकार मैं पल में आया। जेएस जो एक अच्छी लाइब्रेरी है जो इस तिथि प्रारूप को और कई अन्य लोगों को पार्स कर सकती है।

var d = moment(yourdatestring)

इसने मेरे लिए कुछ सिरदर्द बचाया, इसलिए मैंने सोचा कि मैं इसे आपके साथ साझा करूंगा। :)
आप यहां इसके बारे में कुछ और जानकारी पा सकते हैं: http://momentjs.com/


इन उत्तरों में से प्रत्येक में एक बात आम है: वे सभी तारीखों को एक मान (आमतौर पर एक स्ट्रिंग) के रूप में संग्रहीत करते हैं।

एक और विकल्प JSON की अंतर्निहित संरचना का लाभ उठाना है, और संख्याओं की सूची के रूप में दिनांक का प्रतिनिधित्व करना है:

{ "name":"Nick",
  "birthdate":[1968,6,9] }

बेशक, आपको यह सुनिश्चित करना होगा कि वार्तालाप के दोनों सिरों प्रारूप (वर्ष, महीने, दिन) पर सहमत हों, और कौन से फ़ील्ड तिथियों के लिए हैं, ... लेकिन इसका तिथि पूरी तरह से टालने का लाभ है टू-स्ट्रिंग रूपांतरण। यह सभी संख्या है - बिल्कुल कोई तार नहीं। इसके अलावा, ऑर्डर का उपयोग करके: वर्ष, महीना, दिन भी तिथि के अनुसार उचित सॉर्टिंग की अनुमति देता है।

बस बॉक्स के बाहर सोच रहा है - एक JSON तारीख को एक स्ट्रिंग के रूप में संग्रहीत करने की आवश्यकता नहीं है।

ऐसा करने के लिए एक और बोनस यह है कि आप आसानी से (और कुशलतापूर्वक) किसी दिए गए वर्ष या महीने के लिए सभी रिकॉर्ड चुन सकते हैं, जिस तरह से CouchDB सरणी मूल्यों पर क्वेरी को संभालता है।


JQuery UI डेटपिकर का उपयोग करना - वास्तव में केवल तभी समझ में आता है यदि आप पहले से ही jQuery UI सहित हैं:

$.datepicker.formatDate('MM d, yy', new Date(parseInt('/Date(1224043200000)/'.substr(6)))); 

उत्पादन:

15 अक्टूबर, 2008


भयानक धागे में पोस्टिंग:

var d = new Date(parseInt('/Date(1224043200000)/'.slice(6, -2)));
alert('' + (1 + d.getMonth()) + '/' + d.getDate() + '/' + d.getFullYear().toString().slice(-2));

यदि आप जावास्क्रिप्ट में कहते हैं,

var thedate = new Date(1224043200000);
alert(thedate);

आप देखेंगे कि यह सही तिथि है, और आप किसी भी ढांचे के साथ जावास्क्रिप्ट कोड में कहीं भी इसका उपयोग कर सकते हैं।


var newDate = dateFormat(jsonDate, "mm/dd/yyyy"); 

JQuery लाइब्रेरी का उपयोग किए बिना कोई और विकल्प है?


JQuery 1.5 में, जब तक आपके पास पुराने ब्राउज़र के लिए json2.js को कवर करने के लिए, आप अजाक्स से आने वाली सभी तिथियों को निम्नानुसार deserialize कर सकते हैं:

(function () {
    var DATE_START = "/Date(";
    var DATE_START_LENGTH = DATE_START.length;

    function isDateString(x) {
        return typeof x === "string" && x.startsWith(DATE_START);
    }

    function deserializeDateString(dateString) {
        var dateOffsetByLocalTime = new Date(parseInt(dateString.substr(DATE_START_LENGTH)));
        var utcDate = new Date(dateOffsetByLocalTime.getTime() - dateOffsetByLocalTime.getTimezoneOffset() * 60 * 1000);
        return utcDate;
    }

    function convertJSONDates(key, value) {
      if (isDateString(value)) {
        return deserializeDateString(value);
      }
      return value;
    }

    window.jQuery.ajaxSetup({
      converters: {
        "text json": function(data) {
          return window.JSON.parse(data, convertJSONDates);
        }
      }
    });
}());

मैंने तर्क शामिल किया है जो मानता है कि आप यूटीसी के रूप में सर्वर से सभी तिथियां भेजते हैं (जो आपको करना चाहिए); उपभोक्ता को तब एक जावास्क्रिप्ट Date ऑब्जेक्ट मिलता है जिसमें इसे प्रतिबिंबित करने के लिए उपयुक्त टिक मान होते हैं। यही है, तिथि पर getUTCHours() , आदि को कॉल करना उसी मान को वापस करेगा जैसा सर्वर पर किया गया था, और getHours() को कॉल करने से उपयोगकर्ता के स्थानीय getHours() में मूल्य उनके ब्राउज़र द्वारा निर्धारित किया जाएगा।

यह टाइमज़ोन ऑफ़सेट के साथ WCF प्रारूप को ध्यान में रखता नहीं है, हालांकि यह जोड़ना अपेक्षाकृत आसान होगा।


एफवाईआई, सर्वर पक्ष पर पाइथन का उपयोग करने वाले किसी भी व्यक्ति के लिए: datetime.datetime ()। Ctime () एक स्ट्रिंग देता है जो "नई तिथि ()" द्वारा मूल रूप से पारदर्शी है। यही है, यदि आप एक नया डेटाटाइम.datetime उदाहरण बनाते हैं (जैसे datetime.datetime.now के साथ), स्ट्रिंग को JSON स्ट्रिंग में शामिल किया जा सकता है, और उसके बाद उस स्ट्रिंग को दिनांक निर्माता के पहले तर्क के रूप में पारित किया जा सकता है। मुझे अभी तक कोई अपवाद नहीं मिला है, लेकिन मैंने इसका परीक्षण भी नहीं किया है, या तो।


अपने पृष्ठ में jQuery यूआई प्लगइन जोड़ें:

function DateFormate(dateConvert) {
    return $.datepicker.formatDate("dd/MM/yyyy", eval('new ' + dateConvert.slice(1, -1)));
};

आप जावास्क्रिप्ट लाइब्रेरी http://momentjs.com/ का भी उपयोग कर सकते हैं, जो कि विभिन्न स्थानीय प्रारूपों के साथ सौदा करने और दिनांक मूल्यों के साथ अन्य संचालन करने की योजना बनाते समय आसान होता है:

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

    function (result) {
        $("#AuthMerchId").text(result.AuthorizationMerchantId);
        $("#SttlMerchId").text(result.SettlementMerchantId);
        $("#CreateDate").text(moment(result.AppendDts).format("L"));
        $("#ExpireDate").text(moment(result.ExpiresDts).format("L"));
        $("#LastUpdate").text(moment(result.LastUpdateDts).format("L"));
        $("#LastUpdatedBy").text(result.LastUpdateNt);
        $("#ProcessIn").text(result.ProcessIn);
    }
    );
    return false;
}

स्थानीयकरण की स्थापना करना आपके प्रोजेक्ट में कॉन्फ़िगरेशन फ़ाइलों को जोड़ने के रूप में आसान है (आप उन्हें momentjs.com पर प्राप्त करते हैं) और भाषा को कॉन्फ़िगर करना:

moment.lang('de');

जेएसओएन तिथियों को पार्स करने के लिए नीचे एक बहुत ही सरल समाधान है। अपनी आवश्यकता के अनुसार नीचे दिए गए कार्यों का प्रयोग करें। आपको बस नीचे दिए गए कार्यों में पैरामीटर के रूप में प्राप्त JSON प्रारूप दिनांक को पास करने की आवश्यकता है:

function JSONDate(dateStr) {
    var m, day;
    jsonDate = dateStr;
    var d = new Date(parseInt(jsonDate.substr(6)));
    m = d.getMonth() + 1;
    if (m < 10)
        m = '0' + m
    if (d.getDate() < 10)
        day = '0' + d.getDate()
    else
        day = d.getDate();
    return (m + '/' + day + '/' + d.getFullYear())
}

function JSONDateWithTime(dateStr) {
    jsonDate = dateStr;
    var d = new Date(parseInt(jsonDate.substr(6)));
    var m, day;
    m = d.getMonth() + 1;
    if (m < 10)
        m = '0' + m
    if (d.getDate() < 10)
        day = '0' + d.getDate()
    else
        day = d.getDate();
    var formattedDate = m + "/" + day + "/" + d.getFullYear();
    var hours = (d.getHours() < 10) ? "0" + d.getHours() : d.getHours();
    var minutes = (d.getMinutes() < 10) ? "0" + d.getMinutes() : d.getMinutes();
    var formattedTime = hours + ":" + minutes + ":" + d.getSeconds();
    formattedDate = formattedDate + " " + formattedTime;
    return formattedDate;
}

मुझे इस तरह की तारीख मिलती है:

"/Date(1276290000000+0300)/"

कुछ उदाहरणों में दिनांक थोड़ा अलग प्रारूपों में है:

"/Date(12762900000000300)/"
"Date(1276290000000-0300)"

आदि।

तो मैं निम्नलिखित RegExp के साथ आया था:

/\/+Date\(([\d+]+)\)\/+/

और अंतिम कोड है:

var myDate = new Date(parseInt(jsonWcfDate.replace(/\/+Date\(([\d+-]+)\)\/+/, '$1')));

आशा करता हूँ की ये काम करेगा।

अपडेट करें: मुझे यह लिंक माइक्रोसॉफ्ट से मिला है: मैं जेएसओएन के साथ तिथियों को सीरियलाइज कैसे करूं?

ऐसा लगता है कि हम सभी की तलाश है।


देर से पोस्ट, लेकिन उन लोगों के लिए जिन्होंने इस पोस्ट की खोज की थी।

इसकी कल्पना करें:

    [Authorize(Roles = "Administrator")]
    [Authorize(Roles = "Director")]
    [Authorize(Roles = "Human Resources")]
    [HttpGet]
    public ActionResult GetUserData(string UserIdGuidKey)
    {
        if (UserIdGuidKey!= null)
        {
            var guidUserId = new Guid(UserIdGuidKey);
            var memuser = Membership.GetUser(guidUserId);
            var profileuser = Profile.GetUserProfile(memuser.UserName);
            var list = new {
                              UserName = memuser.UserName,
                              Email = memuser.Email ,
                              IsApproved = memuser.IsApproved.ToString() ,
                              IsLockedOut = memuser.IsLockedOut.ToString() ,
                              LastLockoutDate = memuser.LastLockoutDate.ToString() ,
                              CreationDate = memuser.CreationDate.ToString() ,
                              LastLoginDate = memuser.LastLoginDate.ToString() ,
                              LastActivityDate = memuser.LastActivityDate.ToString() ,
                              LastPasswordChangedDate = memuser.LastPasswordChangedDate.ToString() ,
                              IsOnline = memuser.IsOnline.ToString() ,
                              FirstName = profileuser.FirstName ,
                              LastName = profileuser.LastName ,
                              NickName = profileuser.NickName ,
                              BirthDate = profileuser.BirthDate.ToString() ,
            };
            return Json(list, JsonRequestBehavior.AllowGet);
        }
        return Redirect("Index");
    }

जैसा कि आप देख सकते हैं, मैं "ऑटो" जेनेरिक बनाने के लिए सी # 3.0 की सुविधा का उपयोग कर रहा हूं। यह थोड़ा आलसी है, लेकिन मुझे यह पसंद है और यह काम करता है। बस एक नोट: प्रोफाइल एक कस्टम क्लास है जिसे मैंने अपने वेब एप्लिकेशन प्रोजेक्ट के लिए बनाया है।


अपडेट किया गया

हमारे पास एक आंतरिक यूआई लाइब्रेरी है जिसे माइक्रोसॉफ्ट के एएसपी.NET में अंतर्निहित जेएसओएन प्रारूप, जैसे /Date(msecs)/ मूल रूप से यहां पूछा गया है, और JSON.NET सहित अधिकांश JSON का दिनांक प्रारूप, 2014-06-22T00:00:00.0 । इसके अलावा हमें किसी भी चीज़ के साथ सामना करने में पुरानी आईई की असमर्थता का सामना करना पड़ता है लेकिन 3 दशमलव स्थान ।

हम पहले पता लगाते हैं कि हम किस तरह की तारीख का उपभोग कर रहे हैं, इसे सामान्य जावास्क्रिप्ट Date ऑब्जेक्ट में पार्स करें, फिर उसे प्रारूपित करें।

1) माइक्रोसॉफ्ट दिनांक प्रारूप का पता लगाएं

// Handling of Microsoft AJAX Dates, formatted like '/Date(01238329348239)/'
function looksLikeMSDate(s) {
    return /^\/Date\(/.test(s);
}

2) आईएसओ दिनांक प्रारूप का पता लगाएं

var isoDateRegex = /^(\d\d\d\d)-(\d\d)-(\d\d)T(\d\d):(\d\d):(\d\d)(\.\d\d?\d?)?([\+-]\d\d:\d\d|Z)?$/;

function looksLikeIsoDate(s) {
    return isoDateRegex.test(s);
}

3) पार्स एमएस तिथि प्रारूप:

function parseMSDate(s) {
    // Jump forward past the /Date(, parseInt handles the rest
    return new Date(parseInt(s.substr(6)));
}

4) पार्स आईएसओ दिनांक प्रारूप।

हम कम से कम यह सुनिश्चित करने का एक तरीका रखते हैं कि हम मानक आईएसओ तिथियों या आईएसओ तिथियों के साथ काम कर रहे हैं जो हमेशा तीन मिलीसेकंद स्थानों ( ऊपर देखें ) के लिए संशोधित होते हैं, इसलिए पर्यावरण के आधार पर कोड अलग होता है।

4 ए) पार्स मानक आईएसओ तिथि प्रारूप, पुरानी आईई के मुद्दों से निपटने:

function parseIsoDate(s) {
    var m = isoDateRegex.exec(s);

    // Is this UTC, offset, or undefined? Treat undefined as UTC.
    if (m.length == 7 ||                // Just the y-m-dTh:m:s, no ms, no tz offset - assume UTC
        (m.length > 7 && (
            !m[7] ||                    // Array came back length 9 with undefined for 7 and 8
            m[7].charAt(0) != '.' ||    // ms portion, no tz offset, or no ms portion, Z
            !m[8] ||                    // ms portion, no tz offset
            m[8] == 'Z'))) {            // ms portion and Z
        // JavaScript's weirdo date handling expects just the months to be 0-based, as in 0-11, not 1-12 - the rest are as you expect in dates.
        var d = new Date(Date.UTC(m[1], m[2]-1, m[3], m[4], m[5], m[6]));
    } else {
        // local
        var d = new Date(m[1], m[2]-1, m[3], m[4], m[5], m[6]);
    }

    return d;
}

4 बी) एक निश्चित तीन मिलीसेकंड दशमलव स्थानों के साथ पार्स आईएसओ प्रारूप - बहुत आसान:

function parseIsoDate(s) {
    return new Date(s);
}

5) इसे प्रारूपित करें:

function hasTime(d) {
    return !!(d.getUTCHours() || d.getUTCMinutes() || d.getUTCSeconds());
}

function zeroFill(n) {
    if ((n + '').length == 1)
        return '0' + n;

    return n;
}

function formatDate(d) {
    if (hasTime(d)) {
        var s = (d.getMonth() + 1) + '/' + d.getDate() + '/' + d.getFullYear();
        s += ' ' + d.getHours() + ':' + zeroFill(d.getMinutes()) + ':' + zeroFill(d.getSeconds());
    } else {
        var s = (d.getMonth() + 1) + '/' + d.getDate() + '/' + d.getFullYear();
    }

    return s;
}

6) इसे सब एक साथ बांधें:

function parseDate(s) {
    var d;
    if (looksLikeMSDate(s))
        d = parseMSDate(s);
    else if (looksLikeIsoDate(s))
        d = parseIsoDate(s);
    else
        return null;

    return formatDate(d);
}

नीचे दिया गया पुराना उत्तर jQuery के अपने JSON पार्सिंग में इस दिनांक स्वरूपण को टाइप करने के लिए उपयोगी है, इसलिए आपको तारों की बजाय दिनांक वस्तुएं मिलती हैं, या यदि आप अभी भी jQuery <1.5 में फंस गए हैं।

पुराना उत्तर

यदि आप एएसपी.नेट एमवीसी के साथ jQuery 1.4 के अजाक्स फ़ंक्शन का उपयोग कर रहे हैं, तो आप सभी डेटटाइम गुणों को डेट ऑब्जेक्ट्स में बदल सकते हैं:

// Once
jQuery.parseJSON = function(d) {return eval('(' + d + ')');};

$.ajax({
    ...
    dataFilter: function(d) {
        return d.replace(/"\\\/(Date\(-?\d+\))\\\/"/g, 'new $1');
    },
    ...
});

JQuery 1.5 में आप अजाक्स कॉल में कन्वर्टर्स विकल्प का उपयोग कर वैश्विक स्तर पर parseJSON विधि को ओवरराइड करने से बच सकते हैं।

http://api.jquery.com/jQuery.ajax/

दुर्भाग्यवश आपको वैश्विक स्तर पर पार्स को पार्स करने के लिए पुराने eval मार्ग पर जाना होगा - अन्यथा आपको उन्हें अधिक केस-दर-मामले आधार पोस्ट-पार्स पर रूपांतरित करने की आवश्यकता है।



क्या होगा यदि .NET वापस आती है ...

return DateTime.Now.ToString("u"); //"2013-09-17 15:18:53Z"

और फिर जावास्क्रिप्ट में ...

var x = new Date("2013-09-17 15:18:53Z");

var obj = eval('(' + "{Date: \/Date(1278903921551)\/}".replace(/\/Date\((\d+)\)\//gi, "new Date($1)") + ')');
var dateValue = obj["Date"];

आप JSON से दिनांक प्राप्त करने के लिए इसका उपयोग कर सकते हैं:

var date = eval(jsonDate.replace(/\/Date\((\d+)\)\//gi, "new Date($1)"));

और फिर आप इसे इच्छित रूप में प्रदर्शित करने के लिए एक जावास्क्रिप्ट दिनांक स्वरूप स्क्रिप्ट (1.2 KB जब minified और gzipped) का उपयोग कर सकते हैं।


इसे मत सोचो। जैसा कि हमने दशकों से किया है, इस युग के बाद से 1 जनवरी 1 9 70 मध्यरात्रि जीएमटी / यूटीसी / और सी की संख्या (या मिलीसेकंड) में डी-फैक्टो मानक युग से एक संख्यात्मक ऑफसेट पास करें। जावास्क्रिप्ट इसे पसंद करता है, जावा इसे पसंद करता है, सी इसे पसंद करता है, और इंटरनेट इसे पसंद करता है।


JSON में कोई अंतर्निहित दिनांक प्रकार नहीं है। यह कुछ युग से सेकंड / मिलीसेकंड की संख्या की तरह दिखता है। यदि आप युग को जानते हैं तो आप सही समय पर जोड़कर तिथि बना सकते हैं।


मैं कुछ वास्तव में शक्तिशाली jQuery- आधारित फ़ाइल अपलोड पुस्तकालयों में आया हूँ। इन्हें जांचें:

  1. Plupload
  2. jQuery फ़ाइल अपलोड करें
    • दस्तावेज़: https://github.com/blueimp/jQuery- फ़ाइल- अपलोड करें
  3. fineuploader.com




jquery asp.net ajax json