জাভাস্ক্রিপ্টে তারিখ অবজেক্টটি পেতে কীভাবে JSON পার্স করবেন?


117

আমার কাছে JSON এর নীচের অংশ রয়েছে:

\/Date(1293034567877)\/

যা এই নেট নেটওয়ার্কের ফলাফল:

var obj = DateTime.Now;
var serializer = new System.Web.Script.Serialization.JavaScriptSerializer();
serializer.Serialize(obj).Dump();

এখন আমি যে সমস্যার মুখোমুখি হচ্ছি তা হ'ল কীভাবে জাভাস্ক্রিপ্টে এটি থেকে একটি ডেট অবজেক্ট তৈরি করা যায়। আমি যেটা খুঁজে পেলাম তা হ'ল অবিশ্বাস্য রেজেেক্স সলিউশন (অনেকগুলি বাগ রয়েছে)।

এটি জাভাস্ক্রিপ্টে সমস্ত হিসাবে কোনও মার্জিত সমাধান নেই বলে বিশ্বাস করা শক্ত, আমি জাভাস্ক্রিপ্ট কোডটি জাভাস্ক্রিপ্ট কোড বলে মনে করে জেএসএন (জাভাস্ক্রিপ্ট অবজেক্ট নোটেশন) পড়ার চেষ্টা করছে এবং এই মুহূর্তে দেখা যাচ্ছে যে এটি জাভাস্ক্রিপ্টের কারণ নয় এখানে একটি ভাল কাজ করুন।

আমি এমন কিছু ইওল সমাধানও দেখেছি যা আমি কাজ করতে পারি না (সুরক্ষা হুমকি হিসাবে চিহ্নিত করা ছাড়াও)।

এটি একটি মার্জিত উপায়ে করার সত্যিই কোন উপায় আছে?

আসল কোন উত্তর না পাওয়া একই প্রশ্ন:
কীভাবে GWT এর সাথে ASP.NET JSON তারিখের ফর্ম্যাটটি পার্স করবেন


2
আপনি কেবল ক্লায়েন্টের কাছে টাইমস্ট্যাম্পটি পাস করতে এবং new Date()এটিতে কল করতে পারেন।
jAndy

আমার কাছে টাইমস্ট্যাম্প থাকলে আমি পারতাম, তবে আমার কাছে জেএসএন রয়েছে যা জাভাস্ক্রিপ্ট স্পষ্টতই বুঝতে পারে না [sic!]
পিয়োটার ওউসিয়াক

উত্তর:


51

তারিখগুলির কোনও মানদণ্ডের JSON নেই। @ অ্যান্ডি যা বলেছিল তা করা উচিত এবং একে একে সিরিয়ালাইজ DateTimeকরা উচিত নয়; কেবল একটি আরএফসি 1123 তারিখের স্ট্রিং ToString("r")বা সেকেন্ড-থেকে-ইউনিক্স-ইওচ নম্বরটি বা অন্য কিছু যা আপনি জাভাস্ক্রিপ্টে তৈরি করতে ব্যবহার করতে পারেন তা প্রেরণ করুন Date


3
ধন্যবাদ আমি একটি মরা পথে নেমে যাচ্ছিলাম, আপনি প্রথম উল্লেখ করেছিলেন যে জেএসওএন তারিখের প্রকারটি সমর্থন করে না।
পাইওটার ওউসিয়াক

3
JSON সংখ্যা, স্ট্রিং, অবজেক্টস, অ্যারে এবং আক্ষরিক সত্য, মিথ্যা এবং নালকে সমর্থন করে। যেহেতু তারিখ এগুলির কোনও নয়, এটি একটি জটিল ধরণের যা স্ট্রিংয়ের পরিবর্তে অবজেক্ট হিসাবে সংরক্ষণ করা উচিত, তাই আপনি টাইপ নামের মতো বিশেষ সদস্যদের যেমন "$ টাইপ" এর মতো বিশেষ তথ্য অন্তর্ভুক্ত করতে পারেন যা কখনই সমাধান হয় না প্রকৃত অবজেক্ট সদস্য। এই জাতীয় মেটা-সদস্যরা JSON অবজেক্টটিকে দৃ strongly়ভাবে টাইপ করা রানটাইম অবজেক্টে পরে পুনরুদ্ধার করতে ব্যবহার করতে পারেন। আমি মনে করি একটি স্ট্রিংয়ে তারিখটি আঁকানোর অভ্যাসটি বোকামি, কারণ এটি অহেতুকভাবে সংরক্ষিত স্ট্রিং প্যাটার্ন তৈরি করে এবং প্রতিটি স্ট্রিংয়ের সাথে সেগুলি মেলে দেখার চেষ্টা করে।
ত্রিণকো

4
এখন একটি মানক JSON তারিখ বিন্যাস আছে। সরঞ্জামস.ইএইটিএফ.আর.এইচটিএম
ব্রায়ান

128

JSON.parseফাংশন একটি ঐচ্ছিক তারিখসময় পুনরায় জীবত কারক ফাংশন স্বীকার করে। আপনি এর মতো একটি ফাংশন ব্যবহার করতে পারেন:

dateTimeReviver = function (key, value) {
    var a;
    if (typeof value === 'string') {
        a = /\/Date\((\d*)\)\//.exec(value);
        if (a) {
            return new Date(+a[1]);
        }
    }
    return value;
}

তারপরে ফোন করুন

JSON.parse(somejsonstring, dateTimeReviver);

এবং আপনার তারিখগুলি ঠিক বেরিয়ে আসবে।


1
ভাল দাগযুক্ত, বেশ দরকারী।
নুপ

5
কোনও আদিম টাইপ (স্ট্রিং) এ অ-আদিম টাইপ করা ডেটা এনকোড করার এই অনুশীলনটি উন্মাদ। অর্থসূচক বৈশিষ্ট্যযুক্ত একটি JSON অবজেক্টে এনকোডের তারিখগুলি বা আরও এগিয়ে যাওয়ার জন্য, JSON অবজেক্টে একটি "$ প্রকার" বৈশিষ্ট্য অন্তর্ভুক্ত করুন যাতে পার্স / ডিসরিয়ালাইজ রুটিনটি যথাযথভাবে টাইপটিকে পুনরুদ্ধার করতে পারে এবং এমনকি যদি আপনি সমস্ত প্যাক করতে চান তবে কাস্টম রূপান্তরকারীও ব্যবহার করতে পারেন "টিক্স" বা "এমএস_সিনস_পচ" এর মতো একক সম্পত্তি মানের হিসাবে তথ্য।
ত্রিণকো

7
আমাকে এই / \ / তারিখের ((-? \ D *)) \ // এর মতো রেইজেক্সটি সংশোধন করতে হয়েছিল যাতে এটি নেতিবাচক সংখ্যাগুলিও পরিচালনা করতে সক্ষম হয়। Youণাত্মক সংখ্যাগুলি উপস্থিত হয় যখন আপনার একটি খুব পুরানো ডেটটাইম থাকে (Epoch এর আগে) যা নেট থেকে জেএসএনে রূপান্তরিত হয়েছিল।
ক্লিয়ারক্লাউড 8

@ ক্লিয়ারক্লাউড ৮: আপনি স্ল্যাশ ফিরে পেয়েছেন: / \ / তারিখ \ ((-? \ D *) \) \ //
জেরেথার 31:51

1
আমি এই ফাংশন সম্পর্কে কখনই জানতাম না - এটি এত দরকারী!
ক্যাল্ডার

50

রায় টিঙ্কারের এই উত্তরটি এখানে :

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

যেমনটি তিনি বলেছেন: সাবস্ট্রাস্ট ফাংশনটি "/ তারিখ (" অংশ) নিয়ে যায় এবং পার্সেন্ট ফাংশনটি পূর্ণসংখ্যা পায় এবং শেষে ") /" উপেক্ষা করে। ফলাফল সংখ্যা তারিখ নির্মাত্রে পাস করা হয়।

অন্য বিকল্পটি হ'ল আপনার তথ্যটিকে এএসপি পক্ষে ঠিকভাবে ফর্ম্যাট করা যাতে জাভাস্ক্রিপ্ট সহজেই এটি পড়তে পারে। আপনার তারিখের জন্য এটি করা বিবেচনা করুন:

DateTime.Now()

যা এর মতো ফর্ম্যাটটি ফিরিয়ে আনবে:

7/22/2008 12:11:04 PM

আপনি যদি এটির Dateমতো কোনও জাভাস্ক্রিপ্ট কনস্ট্রাক্টারে পাস করেন :

var date = new Date('7/22/2008 12:11:04 PM');

ভেরিয়েবল dateএখন এই মান ধরে:

Tue Jul 22 2008 12:11:04 GMT-0700 (Pacific Daylight Time)

স্বাভাবিকভাবেই, আপনি DateTimeজেএস Dateকনস্ট্রাক্টর গ্রহণযোগ্য স্ট্রিং / ইন্টিতে যেকোন ধরণের স্ট্রিমে এই বিষয়টিকে ফর্ম্যাট করতে পারেন ।


ধন্যবাদ ট্রিফফেস, এই উত্তরটি আমাকে সম্প্রতি কিছু দিয়ে সাহায্য করেছে!
ম্যালিস

4
কখনই না, ডিফল্ট তারিখ <-> স্ট্রিং রূপান্তর ফর্ম্যাটগুলির উপর নির্ভর করুন। ইপোকের পর থেকে মিলিসেকেন্ডগুলি ব্যবহার করা, যা সংখ্যার মতো ডোমেইনে থাকে, এটি আরও বেশি সহজ এবং নির্ভরযোগ্য।
জোহান বুলি

2
এই উত্তরটি দুটি সমাধান উপস্থাপন করে - প্রথমটি সঠিক (পার্সেন্ট) সঠিক এবং দ্বিতীয়টি ভুল, সুতরাং নিশ্চিত হওয়া যায় না যে উর্ধ্বকরণ করা হবে বা ডাউনভোট! স্ট্রিং হিসাবে আউটপুট করার সমস্যাটি হ'ল তারিখটি সহজেই পিছনের দিকে সরে যেতে পারে যদি সার্ভারটি একটি দেশে যেমন মার্কিন যুক্তরাষ্ট্রে থাকে এবং অন্য কোনও ইউকেতে ব্রাউজার থাকে।
মাইক নেলসন

আমাকে যে কোনও ধরণের ক্লু দেওয়ার প্রথম উত্তর
নিক.এমসিডার্মাইড

" আপনার তারিখগুলির জন্য এটি করার বিষয়ে বিবেচনা করুন ... " অবধি ঠিক আছে উত্তর । এমন একটি মানহীন বিন্যাসের পরামর্শ দেওয়া যা বাস্তবায়ন নির্ভর পার্সিং এবং টাইমজোন সমস্যাগুলির পরিচয় দেয় good ওপি ফর্ম্যাটটি পছন্দনীয় (যদিও আদর্শ নয়)।
রবজি

21

আপনি যদি JSON এ জাভাস্ক্রিপ্ট শৈলী ISO8601 তারিখ ব্যবহার করেন, আপনি MDN থেকে এটি ব্যবহার করতে পারেন

var jsonDate = (new Date()).toJSON();
var backToDate = new Date(jsonDate);
console.log(jsonDate); //2015-10-26T07:46:36.611Z

2
ইমো এটি সর্বাধিক মার্জিত উত্তর এবং এটি গ্রহণযোগ্য হওয়া উচিত।
জন

1
সত্যিই খুব মার্জিত, তবে এটি নির্দিষ্ট তারিখের ফর্ম্যাটটির সাথে সম্পর্কিত নয় যা প্রশ্নের মধ্যে উল্লেখ করা হয়েছিল।
এশিয়াপ

@ এসলপ - যদি ব্যবহারকারী কোনও তারিখ আইএসওতে / থেকে রূপান্তর করতে না পারে তবে JSON সবচেয়ে কম সমস্যার মধ্যে রয়েছে।
লিগি

7

আপনি JSON তারিখটিকে জাভাস্ক্রিপ্টে সাধারণ তারিখের ফর্ম্যাটে রূপান্তর করতে পারেন।

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

6

কি সমস্যা:

new Date(1293034567877);

এটি আমার জন্য ফিরে আসে "বুধ 22 ডিসেম্বর 2010 16:16:07 GMT + 0000 (GMT স্ট্যান্ডার্ড সময়)"।

অথবা আপনার জাসন নম্বরটি পাওয়া দরকার?


3
আপনার সমাধানে ভুল কি? আচ্ছা 1293034567877 আমার কাছে থাকা জেএসএন নয়, তাই না? এছাড়াও আমার জেএসএন নাম্বার বের করার দরকার নেই, আমার জেএসওএন-এর তারিখ বের করা দরকার। আমি জাভাস্ক্রিপ্ট থেকে রেগেক্সের সাথে সবকিছুতে সক্ষম হবার চেয়ে কিছুটা বেশি আশা করছি। আমার কোডটি পঠনযোগ্য হতে হবে এবং কার্টুন অভিশাপের মতো দেখতে নয়।
পাইওটর ওসিয়াক

7
আমি নেটকে দোষ দেব যে হিসাবে বিন্যাসে একটি তারিখের অবজেক্টের সিরিয়ালাইজেশন তৈরি করার জন্য \/Date(1293034567877)\/। যদি এটি বুদ্ধিমান হয় তবে এটি কেবল যুগের আউটপুট তৈরি করে এবং আপনি এটির সাথে একটি ডেট অবজেক্টটি আরম্ভ করতে পারেন।
কোয়ান্টিন

2
@ ট্রিফেস: জেএসএন যদি জাভাস্ক্রিপ্ট না হয় তবে আমি মনে করি টিউটোরিয়াল এবং বইগুলিকে এই সাধারণ ভুল বোঝাবুঝির জন্য দোষ দেওয়া হবে। যাইহোক আমি আনন্দের সাথে সত্যিই সঠিকভাবে দাঁড়িয়েছি really আপনার পরামর্শ হিসাবে যে তারিখ স্ট্রিং হিসাবে উপস্থাপন করা যেতে পারে আমি বলতে পারি যে স্ট্রিং হিসাবে সবকিছু উপস্থাপন করা যায়, তাই না? তবে এটি আমাদের কাজটিকে সহজ করে তুলবে না, তবে মারাত্মক বেদনাদায়ক এবং নরককর। আমার অনুমান যে আমার জেনসোনকে সিরিয়ালাইজেশন ফর্ম্যাট হিসাবে বিবেচনা করা হয়েছে (কম ব্যান্ডউইথ নিতে এবং এক্সএমএল এর চেয়ে জাভাস্ক্রিপ্টের সাথে আরও ভাল কাজ করার জন্য বিজ্ঞাপন দেওয়া হয়েছে) এ থেকে আমার সমস্যাটি উদ্ভূত হয়েছে। দেখা যাচ্ছে যে এটি নয়, কমপক্ষে ব্যথাহীন নয়।
পাইওটর ওসিয়াক

1
@ ট্রিফেস: আমি জেএসওএন সম্পর্কে আপনার দাবিটি গুগল করেছিলাম এবং জানতে পেরেছিলাম যে জেএসএন জাভাস্ক্রিপ্ট, আসলে এটি জাভাস্ক্রিপ্টের একটি উপসেট। আরএফসি # 4627 দেখুন "জাভাস্ক্রিপ্ট অবজেক্ট নোটেশনের জন্য অ্যাপ্লিকেশন / জেসন মিডিয়া টাইপ (জেএসএন)" এবং একটি বিবৃতি দেখুন: "জেএসওনের নকশাগুলি লক্ষ্য ছিল এটি ন্যূনতম, বহনযোগ্য, পাঠ্য এবং জাভাস্ক্রিপ্টের একটি উপসেট ছিল" " এখন যখন আমি এটি সম্পর্কে চিন্তা করি, তখন আপনি জেএসএন-তে ইভিএল () কল করতে পারেন বলে মনে হয় এটি স্পষ্ট।
পাইওটর ওসিয়াক

1
@ ডেভিড ডারওয়ার্ড: প্রোগ্রামার দ্বারা পরিচালিত বিশদটি বাদ দেওয়ার পরিবর্তে আমি যুক্ত জটিলতাটি লাইব্রেরিগুলির ভিতরে (নেট। জাভা, রুবি, পাইথন অথবা আপনি যে ভাষা / প্ল্যাটফর্মে আছেন) গভীরভাবে প্রয়োগ করা উচিত। এছাড়াও খেয়াল করুন যে জেএসএনে আপনার বুলিয়ান এবং পূর্ণসংখ্যার ডাটা টাইপ সমর্থন দরকার নেই, আপনি কেবল সেগুলি স্ট্রিংয়ে রাখতে পারেন, তাই না? আপনি কীভাবে ভাবতে পারেন যে তখনকার জেএসওএন থেকে যে পরিমাণ অবাস্তব পাওয়া যাবে?
পাইওটর ওসিয়াক

2

আমি জানি এটি একটি খুব পুরানো থ্রেড তবে যারা এইভাবে ঝাঁপিয়ে পড়েছিল তাদের সাহায্য করার জন্য আমি এটি পোস্ট করতে চাই।

যদি আপনি কোনও তৃতীয় পক্ষের স্ক্রিপ্ট ব্যবহারের বিষয়ে চিন্তা না করেন তবে আপনি মুহুর্ত, js ব্যবহার করতে পারেন তারপরে আপনি এটি যা চান সেটি বিন্যাস করতে। ফর্ম্যাট () ব্যবহার করতে পারেন।


2

তারিখগুলি সর্বদা একটি দুঃস্বপ্ন। আপনার পুরানো প্রশ্নের উত্তর দেওয়া, সম্ভবত এটি সবচেয়ে মার্জিত উপায়:

eval(("new " + "/Date(1455418800000)/").replace(/\//g,""))

ইওল সহ আমরা আমাদের স্ট্রিংটিকে জাভাস্ক্রিপ্ট কোডে রূপান্তর করি। তারপরে আমরা "/" সরান, প্রতিস্থাপন ফাংশনে একটি নিয়মিত প্রকাশ হয় is নতুন হিসাবে শুরু করার সাথে সাথে আমাদের বাক্যগুলি এটিকে ছাড়িয়ে যাবে:

new Date(1455418800000)

এখন, একটি জিনিস যা আমি বহুদিন আগে ব্যবহার করা শুরু করেছিলাম তা হ'ল দীর্ঘ মান যা টিক্সগুলিতে প্রতিনিধিত্ব করা হয় ... কেন? ভাল, স্থানীয়করণ এবং প্রতিটি সার্ভারে বা প্রতিটি ক্লায়েন্টে কীভাবে তারিখ কনফিগার করা হয় তা চিন্তাভাবনা বন্ধ করুন। আসলে, আমি এটি ডাটাবেসেও ব্যবহার করি।

সম্ভবত এই উত্তরের জন্য বেশ দেরি হয়ে গেছে তবে এখানে কাউকে সহায়তা করতে পারে।


বিটিডব্লিউ, বছরের সাথে আমার ইংরেজি আগের চেয়ে খারাপ হয়ে উঠছে ... তবে আমার ধারণা আমি নিজের বুঝতে পেরেছি।
গ্যাব্রিয়েল অ্যান্ড্রেস ব্র্যাঙ্কোলিনী

আপনার উত্তর দুর্দান্ত কাজ করে, জ্যাম থেকে বেরিয়ে আসতে আমাকে সহায়তা করেছিল। ধন্যবাদ।
বিরক্তবসি

1

AngularJS .NET JSON তারিখের /Date(xxxxxxxxxxxxx)/স্ট্রিংটি পার্স করতে পারে না ..

আমি এই বিষয়টিকে Dateসরাসরি dump

এখানে এএসপি.নেট এমভিসি কোডের একটি নমুনা দেওয়া আছে ..

return Json(new { 
  date : DateTime.Now.ToString("O") //ISO 8601 Angular understands this format
});

আমি চেষ্টা করেছি RFC 1123কিন্তু এটি কাজ করে না .. কৌণিক এটিকে তারিখের পরিবর্তে স্ট্রিং হিসাবে বিবেচনা করে।

return Json(new { 
  date : DateTime.Now.ToString("R") //RFC 1123 Angular won't parse this
});

0

আমি ব্যবহার করি নি। এই জাতীয় জিনিস জন্য নেট। আপনি যদি নীচের মতো কিছু মুদ্রণ করতে সক্ষম হন তবে এটি কাজ করা উচিত।

দ্রষ্টব্য, যদি না আপনি JSON স্ট্রিংটিকে অন্য কোনও উপায়ে পার্সিং করছেন বা কেবল JSON পার্সারে অন্তর্নির্মিত ব্যবহারকারীদের আধুনিক ব্রাউজারের প্রত্যাশা না করেন তবে সার্ভারের দ্বারা উত্পাদিত JSON স্ট্রিংটিকে একটি আসল JSON এ পার্স করার জন্য আপনাকে একটি JS ফ্রেমওয়ার্ক বা JSON2 ব্যবহার করতে হবে unless অবজেক্ট।

// JSON received from server is in string format
var jsonString = '{"date":1251877601000}';

//use JSON2 or some JS library to parse the string
var jsonObject =  JSON.parse( jsonString );

//now you have your date!
alert( new Date(jsonObject.date) );

উইকি লিংক

ফায়ারফক্স 3.5 এবং ইন্টারনেট এক্সপ্লোরার 8 এর মতো আধুনিক ব্রাউজারগুলিতে জেএসএন পার্স করার জন্য বিশেষ বৈশিষ্ট্য অন্তর্ভুক্ত রয়েছে। নেটিভ ব্রাউজার সমর্থন যেমন eval () এর চেয়ে বেশি দক্ষ এবং সুরক্ষিত, আশা করা যায় যে দেশীয় জেএসওএন সমর্থনটি পরবর্তী ইসমাস্ক্রিপ্ট স্ট্যান্ডার্ডে অন্তর্ভুক্ত হবে [[6]


JSON2 ফাইলের লিঙ্ক

সরাসরি উদাহরণ


আমি এটি পেয়েছি, তবে জেএসওএন এবং তারিখের ধরণের আমার সমস্যাটি হ'ল আমাকে স্পষ্টভাবে "নতুন তারিখ (" যা একটি) অতিরিক্ত কাজ খ) খোলার জন্য যোগাযোগ করার অতিরিক্ত জ্ঞানের টুকরোটি করা দরকার। কীভাবে এটি পরিচালনা করা হয় তা জানতে পেরে আমি সত্যিই হতাশ এবং আমি জেএসওএন স্পিকে এটি মূলত একটি ভুল হিসাবে বিবেচনা করি।
পাইওটর ওউসিয়াক

0

এই প্রশ্নের উত্তর হ'ল, JSON.NET পেতে নুগেট ব্যবহার করুন এবং আপনার JsonResultপদ্ধতির অভ্যন্তরে এটি ব্যবহার করুন :

JsonConvert.SerializeObject(/* JSON OBJECT TO SEND TO VIEW */);

আপনার দর্শনের ভিতরে সহজভাবে এটি করুন javascript:

JSON.parse(/* Converted JSON object */)

এটি যদি একটি আজাক্স কল হয়:

var request = $.ajax({ url: "@Url.Action("SomeAjaxAction", "SomeController")", dataType: "json"});
request.done(function (data, result) { var safe = JSON.parse(data); var date = new Date(safe.date); });

একবার JSON.parseডাকা হয়ে গেলে আপনি JSON তারিখটিকে একটি new Dateউদাহরণে রাখতে পারেন কারণ JsonConvertএকটি সঠিক আইএসও টাইম দৃষ্টান্ত তৈরি করে


0
function parseJsonDate(jsonDate) {

    var fullDate = new Date(parseInt(jsonDate.substr(6)));
    var twoDigitMonth = (fullDate.getMonth() + 1) + ""; if (twoDigitMonth.length == 1) twoDigitMonth = "0" + twoDigitMonth;

    var twoDigitDate = fullDate.getDate() + ""; if (twoDigitDate.length == 1) twoDigitDate = "0" + twoDigitDate;
    var currentDate = twoDigitMonth + "/" + twoDigitDate + "/" + fullDate.getFullYear();

    return currentDate;
};

0

কলাম যেমন উল্লেখ করেছেন, আমার পক্ষে, কন্ট্রোলার পদ্ধতিটিকে জসনআরসাল্টের পরিবর্তে স্ট্রিংয়ে পরিবর্তন করা সবচেয়ে ভাল উপায়।

public string GetValues()
{
  MyObject.DateFrom = DateTime.Now;
  return JsonConvert.SerializeObject(MyObject);
}

এজাক্স পদ্ধতি থেকে আপনি এরকম কিছু করতে পারেন

 $.ajax({
 url: "/MyController/GetValues",
 type: "post",
 success: function (data) {
 var validData = JSON.parse(data);
//if you are using datepicker and you want set a format
$("#DateFrom").val($.datepicker.formatDate("dd/mm/yy", new Date(validData.DateFrom)));                                      
// if you want the date as returned
$("#DateFrom").val(new Date(validData.DateFrom))
}
});

0

ইভাল ফাংশন ব্যবহার করে কেবল সামনে এবং পিছনে ফরোয়ার্ড স্ল্যাশ সরিয়ে ফেলতে হবে।

var date1 = "/Date(25200000)/"
eval("new " + date1.substring(1, date1.length - 1));

থু জানুয়ারী 01 1970 00:00:00 GMT-0700 (মার্কিন মাউন্টেন স্ট্যান্ডার্ড সময়)


0

আমি এই ফর্ম্যাটটিতে বাহ্যিক এপিআই সরবরাহের তারিখগুলি দিয়েছি এমন একটি সমস্যা নিয়ে এসেছি, কিছু সময় এমনকি ইউটিসি পার্থক্য সম্পর্কিত তথ্যের সাথেও /Date(123232313131+1000)/। আমি Dateনিম্নলিখিত কোড সহ এটি js অবজেক্ট চালু করতে সক্ষম ছিল

var val = '/Date(123232311-1000)/';
var pattern = /^\/Date\([0-9]+((\+|\-)[0-9]+)?\)\/$/;
var date = null;

// Check that the value matches /Date(123232311-1000)/ format
if (pattern.test(val)) {
  var number = val.replace('/Date(', '',).replace(')/', '');
  if (number.indexOf('+') >= 0) {
    var split = number.split('+');
    number = parseInt(split[0]) + parseInt(split[1]);
  } else if (number.indexOf('-') >= 0) {
    var split = number.split('-');
    number = parseInt(split[0]) - parseInt(split[1]);
  } else {
    number = parseInt(number);
    date = new Date(number);
  }
}

-1
//
// formats a .net date into a javascript compatible date
//
function FormatJsonDate(jsonDt) 
{              
    var MIN_DATE = -62135578800000; // const

    var date = new Date(parseInt(jsonDt.substr(6, jsonDt.length-8)));                                                       
    return date.toString() == new Date(MIN_DATE).toString() ? "" : (date.getMonth() + 1) + "\\" + date.getDate() + "\\" + date.getFullYear(); 
}

2
আপনি কোডটি যতদূর বুঝতে পেরেছি আপনি কোনও তারিখের অবজেক্ট ফিরিয়ে দিচ্ছেন না।
জোহান বুলি

-1
function parseJsonDate(jsonDate) {

    var fullDate = new Date(parseInt(jsonDate.substr(6)));
    var twoDigitMonth = (fullDate.getMonth() + 1) + ""; if (twoDigitMonth.length == 1) twoDigitMonth = "0" + twoDigitMonth;

    var twoDigitDate = fullDate.getDate() + ""; if (twoDigitDate.length == 1) twoDigitDate = "0" + twoDigitDate;
    var currentDate = twoDigitMonth + "/" + twoDigitDate + "/" + fullDate.getFullYear();

    return currentDate;
};

// এই ফাংশন ব্যবহার করুন

var objDate=parseJsonDate("\/Date(1443812400000)\/");
alert(objDate);
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.