كيفية تحويل السلسلة "س س س س-MM-DDZ" لوقت موعد مع صافي؟

StackOverflow https://stackoverflow.com/questions/255287

  •  05-07-2019
  •  | 
  •  

سؤال

وأواجه مشاكل تحويل سلسلة في شكل "س س س س-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".

وأنا لا يمكن أن تنتظر جوابا!

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top