C#ASP.NET应用程序中带有时区的datetime的标准格式是什么?
更新以澄清:在ASP.NET中,我需要根据.NET DateTime检查Domino数据库的日期时间。客户端询问他应该使用时区提供日期时间的最佳格式。是什么格式最容易被.NET读取?
答案 0 :(得分:2)
更新 - 关于您的澄清:
我需要从针对asp.net datetime的dominos数据库中检查日期时间。客户端询问他应该使用时区提供日期时间的最佳格式.-意味着.Net很容易阅读。
.NET支持解析各种不同的格式,只要它采用相当标准的明确格式,您就可以解析它。但是,请不要依赖默认设置,使用ParseExact或TryParseExact。
有关构造格式字符串的详细信息,请查看以下资源:
如果您想向他推荐一些内容,那么我建议您关注ISO 8601 standard,其内容如下:2010-05-14T10:04Z
。 DateTime.Parse
也可以理解这种格式,而无需提供格式字符串。
回答你原来的问题:
C#ASP.NET应用程序中DateTime与标准格式的标准格式是什么?
DateTimes的默认格式基于当前区域设置。如果您想要一致的格式,请使用CultureInfo.InvariantCulture
或您选择的特定文化。
DateTime now = DateTime.Now;
string s = now.ToString(CultureInfo.InvariantCulture);
结果:
"05/14/2010 21:17:35"
请注意,默认格式不包含时区。您可以指定自己的格式:
string s = now.ToString("yyyy-MM-dd HH:mm:ss zz");
结果:
"2010-05-14 21:21:59 +02"
答案 1 :(得分:0)
默认表示形式为:
MM/DD/YYYY HH:MM:SS (AM/PM)
但这也取决于当前线程中指定的CultureInfo。有关选项的完整列表,请使用此MSDN资源:
答案 2 :(得分:0)
假设您从字符串到DateTime对象,最简单的方法是使用DateTime.Parse("MM/DD/YY HH:mm:ss UTC-OFFSET")
,例如“03/01/2009 05:42:00 -5:00”。更多信息在Parse方法文档中。