难道则DateTime.ToString(“S”)总是返回相同的格式?
-
21-08-2019 - |
题
根据 MSDN上则DateTime.ToString 的ToString( “S” )应始终在排序XML架构样式格式的格式返回字符串,如:2008-10-01T17:04:32.0000000
在反射器我来里面的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位天,前导零,点击 的Ť强> - 字面Ť结果 的 HH 强> - 2位数小时,用前导零,24小时格式,点击 的毫米强> - 2位分钟,与领先零点击 的 SS 强> - 2位第二,与领先零结果
不隶属于 StackOverflow