Avatar ·

C# में DateTime ऑब्जेक्ट से ISO 8601 प्रारूप में दिनांक कैसे प्राप्त करें?

सभी को नमस्कार! मैं C# में नया हूँ और एक अप्रत्याशित समस्या का सामना किया। मुझे दिनांक और समय को ISO 8601 मानक के अनुसार सख्ती से स्ट्रिंग में serialize करना है (उदाहरण के लिए, "2023-10-27T14:30:00Z" या "2023-10-27T17:30:00+03:00")। मैंने बहुत सारे विकल्प आज़माए, लेकिन परिणाम हमेशा कुछ गलत आता है। यहाँ मेरा कोड है:
DateTime now = DateTime.Now;
string dateString = now.ToString(); 
Console.WriteLine(dateString); // "27.10.2023 14:30:00" आउटपुट करता है - सही नहीं!
मैंने "s" specifier का उपयोग करने की कोशिश की:
string isoString = now.ToString("s"); 
Console.WriteLine(isoString); // "2023-10-27T14:30:00" - बेहतर है, लेकिन timezone नहीं है
और मैंने देखा कि अगर मैं `DateTime.UtcNow` का उपयोग करता हूँ, तो मुझे स्थानीय offset के बिना समय मिलता है। मुझे चाहिए कि दिनांक हमेशा सही timezone के साथ हो, और UTC के लिए अंत में "Z" अक्षर हो। मैंने फ़ॉर्मेट में "K" जोड़ने की कोशिश की, लेकिन गड़बड़ हो गई। कृपया बताएं कि इसे सही तरीके से कैसे करें? अधिमानतः विभिन्न परिदृश्यों के उदाहरणों के साथ: स्थानीय