代码之家  ›  专栏  ›  技术社区  ›  Peter Gfader

做DateTime。ToString(“s”)总是返回相同的格式吗?

  •  12
  • Peter Gfader  · 技术社区  · 17 年前

    MSDN on DateTime.ToString

    在Reflector中,我在DateTimeFormatInfo中遇到了这种模式。

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




    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));
        }
    }
    
    2 回复  |  直到 17 年前
        1
  •  16
  •   samjudson    12 年前

    确实如此。正如其他人所说,它只包含数值和字符串文字(例如“T”和“:”),不受地区或区域性设置的影响。

        2
  •  12
  •   Dan F    17 年前

    是的。 Breaking that pattern down 名字 在那里。

    年份 -4位数字日期
    毫米 -2位数月份,前导零
    -2位数字日,前导零

    哈哈 -2位小时,前导零,24小时格式
    -2位数分钟,前导零
    秒

    推荐文章