DateTime.ToString(“s”)是否总是返回相同的格式?

DateTime.ToString(“s”)是否总是返回相同的格式?,datetime,tostring,cultureinfo,regional,Datetime,Tostring,Cultureinfo,Regional,根据ToString(“s”)应始终以可排序的XML架构样式格式返回字符串,例如:2008-10-01T17:04:32.0000000 在Reflector中,我在DateTimeFormatInfo中找到了这个模式 public string SortableDateTimePattern { get { return "yyyy'-'MM'-'dd'T'HH':'mm':'ss"; } } DateTime.ToString(“

根据ToString(“s”)应始终以可排序的XML架构样式格式返回字符串,例如:2008-10-01T17:04:32.0000000

在Reflector中,我在DateTimeFormatInfo中找到了这个模式

public string SortableDateTimePattern
{
      get
      {
            return "yyyy'-'MM'-'dd'T'HH':'mm':'ss";
      }
}
DateTime.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位日期
MM-2位月,带前导零
dd-2位数字日,前导零
T-文字T
HH-2位小时,带前导零,24小时格式
mm-2位分钟,前导零

ss-2位秒,前导零

这个问题怎么还没有结束?