هل التاريخ والوقت.ToString("s") العودة دائما نفس الشكل ؟

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

سؤال

وفقا MSDN على التاريخ والوقت.ToString ToString("s") دوما بإرجاع سلسلة في شكل قابل للفرز مخطط XML تنسيق نمط مثلا:2008-10-01T17:04:32.0000000

في عاكس جئت إلى هذا النمط داخل DateTimeFormatInfo.

public string SortableDateTimePattern
{
      get
      {
            return "yyyy'-'MM'-'dd'T'HH':'mm':'ss";
      }
}

هل التاريخ والوقت.ToString("s") العودة دائما سلسلة في هذا الشكل ؟
بغض النظر عن ثقافة المنطقة ، ...


نعم لا
رمز اختبار

var dateTime = DateTime.Now;
var originialString = dateTime.ToString("s");
string testString;

foreach (var c in System.Globalization.CultureInfo.GetCultures(CultureTypes.AllCultures))
{
    Thread.CurrentThread.CurrentUICulture = c;
    if (c.IsNeutralCulture == false)
    {
        Thread.CurrentThread.CurrentCulture = c;
    }

    testString = dateTime.ToString("s");
    Console.WriteLine("{0} ", testString);
    if (originialString != testString)
    {
        throw new ApplicationException(string.Format("ToString(s) is returning something different for {0} " , c));
    }
}
هل كانت مفيدة؟

المحلول

ونعم يفعل. كما قال آخرون أنه يحتوي فقط على قيم رقمية وحرفية سلسلة (على سبيل المثال 'T' و ':')، لا شيء يتم تبديل من خلال إعدادات المنطقة أو الثقافة

نصائح أخرى

نعم. كسر هذا النمط أسفل, إنه فقط عددي خصائص لا توجد إشارة إلى أي شيء مثل الشهر أو اليوم أسماء في هناك.

yyyy - 4 أرقام تاريخ
مم - 2 أرقام الشهر مع الرائد صفر
dd - 2 أرقام اليوم مع الرائد صفر
T - الحرفي T
HH - 2 أرقام الساعة ، مع الرائد صفر 24 ساعة
مم - 2 أرقام دقيقة ، مع الرائد صفر
ss - 2 الرقم الثاني مع الرائد صفر

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