كيفية تحويل السلسلة "س س س س-MM-DDZ" لوقت موعد مع صافي؟
سؤال
وأواجه مشاكل تحويل سلسلة في شكل "س س س س-MM-DDZ" باستخدام VB.net.
وعلى سبيل المثال لدي السلسلة "2007-10-21Z".
وعن طريق CDate أو TryParse يخرج إلى 2007/10/20 بدلا من 2007/10/21.
وأنا لا فهم كيفية تأثير Z سلسلة التاريخ بحيث عندما يتم توزيعه أنه يؤدي في اليوم السابق.
ومن ما أفهم Z يحدد توقيت الصفر. لكن سلسلة تاريخ لا يمتلك أي معلومات الوقت. كيف يعمل هذا؟
المحلول
وحاول
وDateTime.ParseExact ( "2007-10-21Z"، "س س س س-MM-DDZ"، CultureInfo.InvariantCulture)؛
نصائح أخرى
وانها لتفسير التاريخ ك منتصف الليل الزولو الوقت (GMT) ومن ثم تحويله إلى المنطقة الزمنية المحلية. إذا كنت في الولايات التي ستكون بين 15:00 حتي 19:00 في اليوم السابق.
وإضافة "Z" لتاريخ يحدد ذلك الوقت هو UTC . عند CDate من TryParse التاريخ، هو تحويلها إلى التوقيت المحلي.
وواو، وهذا مثير للاهتمام. أحاول في C # DateTime.Parse ( "2008-10-31") ToString ()؛ والنتيجة هي "2008/10/30 17:00:00".
وأنا لا يمكن أن تنتظر جوابا!