.NET时区信息

3

在C# ASP.NET应用程序中,带有时区的datetime的标准格式是什么?

更新以澄清:在ASP.NET中,我需要检查来自Domino数据库的datetime,与.NET DateTime进行比较。客户正在询问应该以哪种格式提供带有时区的datetime最容易被.NET读取。


你的问题是什么?你能举个例子说明你想要什么吗?你有一些示例代码吗? - Mark Byers
没有"C#.net"这种东西。你从哪里听说的? - John Saunders
我需要检查Dominos数据库中的日期时间与ASP.NET日期时间是否匹配。客户正在询问应以哪种格式提供带有时区的日期时间,以便于.NET轻松阅读。请让我知道这是否清楚地解释了我的问题? - dotnetrocks
是的,它确实澄清了你的问题。如果那是你想知道的,我认为你应该一开始就直接问这个问题。 - Mark Byers
3个回答

2
更新 - 关于您的澄清:
我需要检查从Domino数据库中获取的日期时间与ASP.NET日期时间是否匹配。客户正在询问应以哪种时区易于读取的格式提供日期时间 - 即可被.NET轻松解析的格式。
.NET支持解析各种不同的格式,只要它是一个相当标准且明确的格式,您就没有问题解析它。但是不要依赖默认设置,使用ParseExactTryParseExact来确保解析正确。
请参阅以下资源,了解构建格式字符串的详细信息:

如果您想向他提出建议,我建议遵循ISO 8601标准,它看起来像这样:2010-05-14T10:04ZDateTime.Parse也可以理解这种格式,而不需要提供格式字符串。


回答您最初的问题:
“在C# ASP.NET应用程序中,DateTime与时区的标准格式是什么?”
DateTime的默认格式基于当前语言环境。如果您想使用一致的格式,请使用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"

0

0

假设您想将字符串转换为DateTime对象,最简单的方法是使用DateTime.Parse("MM/DD/YY HH:mm:ss UTC-OFFSET"),例如"03/01/2009 05:42:00 -5:00"。更多信息请参阅Parse方法文档。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接