दिलचस्प पोस्ट
क्या यूट्यूब और मैप्स जैसे आईफोन एप्स के लिए एक एचटीएमएल + डोमेन-आधारित यूआरएल योजना पंजीकरण करना संभव है? __getattr__ और __getattribute__ के बीच का अंतर समझना ऑपरेटर की विरासत के साथ समस्या = सी ++ में टाइम-टाइम कॉलबैक सेट करने के लिए सही "यह" संदर्भ पास करें? क्यों घोषित जब बटन पैरामीटर "आदेश" निष्पादित है? एंड्रॉइड स्टूडियो "आर" को प्रतीक आर के हल नहीं कर सकता है, लेकिन लाल रंग के साथ लाल रंग में आर मारता है, लेकिन सफल बनाते हैं गतिशील रूप से भरी हुई जावास्क्रिप्ट उतार सकते हैं? एक UILabel में पाठ की पिक्सेल की चौड़ाई क्या मैं कहीं एस.एस.एस. कर सकता हूं, कुछ आज्ञाओं को चला सकता हूं, और फिर खुद को तत्काल छोड़ सकता हूं? गतिशील भाषाओं के बारे में लोग इतने आकर्षक क्यों हैं? अरब के समय के लिए सापेक्ष आयात ऐस्डर्स फ़ोल्डर या कच्चे फ़ोल्डर से एंड्रॉइड में वीडियो कैसे खेलेंगे? CubicCurve2D दो JInternalFrame उदाहरणों को जोड़ने जावा में कॉमा से अलग स्ट्रिंग को स्ट्रिंग कन्वर्ट करें डिवाइस का स्क्रीन आकार कैसे प्राप्त करें?

जावास्क्रिप्ट की तिथि को सी # अजाक्स द्वारा

मेरे पास जावास्क्रिप्ट तिथि ऑब्जेक्ट है जो मुझे इस प्रारूप में दिनांक स्ट्रिंग देता है, "बुध 16 दिसंबर 00:00:00 यूटीसी -0400 200 9"।

मैं इसे अजाक्स के माध्यम से सर्वर (एएसपी.नेट सी #) पर पास करता हूं

मैं कैसे कन्वर्ट कर सकता हूं, "बुध दिसंबर 16 00:00:00 यूटीसी -0400 200 9" को एक सी # दिनांक समय ऑब्जेक्ट दिनांक का समय।

वेब के समाधान से एकत्रित समाधान "जावास्क्रिप्ट की तिथि को सी # अजाक्स द्वारा"

आप DateTime.ParseExact का उपयोग कर सकते हैं जो आपको पार्सिंग के लिए उपयोग करने के लिए एक प्रारूप स्ट्रिंग निर्दिष्ट करने की अनुमति देता है:

DateTime dt = DateTime.ParseExact("Wed Dec 16 00:00:00 UTC-0400 2009", "ddd MMM d HH:mm:ss UTCzzzzz yyyy", CultureInfo.InvariantCulture); 

सबसे विश्वसनीय तरीका युग के बाद से मिलीसेकंड का उपयोग करना होगा। आप Date.getTime() को कॉल करके इसे आसानी से जावास्क्रिप्ट में प्राप्त कर सकते हैं। फिर, सी # में आप इसे इस तरह एक दिनांक समय में बदल सकते हैं:

 long msSinceEpoch = 1260402952906; // Value from Date.getTime() in JavaScript return new DateTime(1970, 1, 1).AddTicks(msSinceEpoch * 10000); 

आपको मिलीसेकेंड से "टिक्स" में कनवर्ट करने के लिए 10,000 से गुणा करना होगा, जो 100 नैनोसेकेंड हैं।

यह आपके मामले में संभव नहीं है, लेकिन मैं वास्तव में आईएसओ 8601 प्रारूप में दिनांक / बार पास करने के लिए जेएस कोड को अपडेट करने की सिफारिश करता हूं। http://en.wikipedia.org/wiki/ISO_8601

आईएसओ 8601 न केवल औपचारिक मानक है, इसका उपयोग करना भी आसान है और बहुत ज़्यादा समय की परेशानी को रोकता है!

जावास्क्रिप्ट में 8601 डेटाइम स्ट्रिंग प्राप्त करने के लिए:

 var d = new Date(); var iso_time = d.toISOString(); //"2014-05-06T18:49:16.029Z" 

सी # में 8601 डेटाइम स्ट्रिंग्स पढ़ने के लिए:

 DateTime d = DateTime.Parse(json_string); 

सिर्फ भावी पीढ़ी के लिए, भविष्य के साथी Googlers में मदद करने के लिए, मैं ईएमपी के जवाब पर विस्तार करना चाहता हूं।

ईएमपी का उत्तर यूटीसी में समय प्रदान करता है (यदि वह है जो आप खोज रहे हैं, तो इसका इस्तेमाल करें)।

क्लाइंट स्थानीय समय सी # में आने के लिए:

जावास्क्रिप्ट में:

  var now = new Date(); var UTC = now.getTime(); var localOffset = (-1) * now.getTimezoneOffset() * 60000; var currentTime = Math.round(new Date(UTC + localOffset).getTime()); 

सी # में:

  DateTime currentTimeDotNet = new DateTime(1970, 1, 1).AddTicks(Convert.ToInt64(currentTime) * 10000); 

इस ब्लॉग और ईएमपी के उत्तर के लिए श्रेय, लेकिन इसे ठीक करने के लिए दोनों सिरों पर कुछ परीक्षण और त्रुटि मिली, इसलिए भविष्य के लोगों के लिए सिर्फ फ़िआई।

ईमानदारी से मैं उस तारीख स्ट्रिंग को सी # में पार्स करने की कोशिश नहीं करूँगा, मैं व्यक्तिगत तौर पर अपने जावास्क्रिप्ट दिनांक ऑब्जेक्ट से एक अधिक उपयोगी तिथि संरचना बनाने का प्रयास करता हूं।

उदाहरण के लिए आप जावास्क्रिप्ट में parse() का उपयोग कर सकते हैं, जो दिनांक ऑब्जेक्ट का प्रतिनिधित्व करते हुए एमएस वापस करेगा, जो कि आप DateTime.Parse() उपयोग सी # दिनांकटाइम ऑब्जेक्ट में कनवर्ट करने के लिए कर सकते हैं।