ইউটিসি ব্যবহার করে
আইএসও 8601 ( এমএসডিএন ডেটটাইম ফর্ম্যাট )
Console.WriteLine(DateTime.UtcNow.ToString("s") + "Z");
2009-11-13T10: 39: 35Z
জেড সেখানে কারণ
সময়টি ইউটিসি-তে থাকলে স্থান ছাড়াই সময় শেষে সরাসরি 'জেড' যুক্ত করুন। 'জেড' হ'ল জিরো ইউটিসি অফসেটের জন্য জোন ডিজাইনার। "09:30 ইউটিসি" তাই "09: 30Z" বা "0930Z" হিসাবে উপস্থাপিত হয়। "14:45:15 ইউটিসি" "14: 45: 15Z" বা "144515Z" হবে।
যদি আপনি একটি অফসেট অন্তর্ভুক্ত করতে চান
int hours = TimeZoneInfo.Local.BaseUtcOffset.Hours;
string offset = string.Format("{0}{1}",((hours >0)? "+" :""),hours.ToString("00"));
string isoformat = DateTime.Now.ToString("s") + offset;
Console.WriteLine(isoformat);
দুটি বিষয় লক্ষণীয়: + বা - সময়ের পরে প্রয়োজন তবে অবশ্যই + ইতিবাচক সংখ্যায় প্রদর্শিত হয় না। উইকিপিডিয়া অনুসারে অফসেটটি + এইচএইচ ফর্ম্যাট বা + এইচএইচ: মিমি হতে পারে। আমি কয়েক ঘন্টা রেখেছি।
যতদূর আমি জানি, আরএফসি 1123 (এইচটিটিপি তারিখ, "ইউ" ফর্ম্যাটর) সময় অঞ্চল অফসেট দেওয়ার জন্য নয়। সমস্ত সময় জিএমটি / ইউটিসি হওয়ার উদ্দেশ্যে।
UtcNow.ToString(s)+Zভুল। ISO8601 রাউন্ডট্রিপ বিকল্প দ্বারা সমর্থিতToString("O")। এছাড়াও এটি উল্লেখ করার জন্য যে স্বীকৃত উত্তরটিতে ডেটটাইমের ইউটিসি মান ব্যবহার করা হয়, যা সর্বদা টাইমজোন জেড দেয়, কেবলমাত্র আসল তারিখের মানটি ব্যবহার না করে, যা (যদি দয়া করে = স্থানীয় থাকে) কোনও দিবালোক সংরক্ষণের সময়সীমা থাকতে পারে। গৃহীত উত্তর পরিবর্তন বিবেচনা?