Application中的UTC时间相关问题,(C#,ASP.NET& SQL)

时间:2014-09-23 06:51:29

标签: c# sql asp.net sql-server utc

我正在开发一个与Sales& amp;购买报告。 在那里,我通过使用该购买和数据的数据生成图表。销售报告。

创建采购订单&销售订单日期与(UTC + 5.30)时间相关,即此时间为印度孟买。

情景-1

假设这是场景(目前此应用程序在印度用于此场景)

Lets Say, 
**Purchase Order & sales Order Generation is as follows**
                      Purchase Order(Rs)       Sales Order(Rs)
    31-Jan-2014 11.00PM      1000                   2000  
    31-Jan-2014 10.00PM      2000                   4000

根据这个,如果我创建图表,那么图表的数据将如下所示。

              Purchase   Sales
 Jan-2014       3000     6000

我对此方案没有任何问题,

但是假设我在美国和美国有一个分公司。我的一位美国同事创建了同一采购订单&销售订单然后我的问题开始如下

情景-2

假设这是场景(目前此应用程序在美国用于此场景)

Lets Say, 
    **Purchase Order & sales Order Generation is as follows**
                     Purchase Order(Rs)  Sales Order(Rs)
31-Jan-2014 11.30PM      1000                   2000  
31-Jan-2014 11.00PM      2000                   4000

根据这个如果我创建一个图表,那么图表的数据将如下所示。

              Purchase   Sales
 Feb-2014       3000     6000

原因:因为我正在使用(UTC + 5.30)时间来创建购买&销售报告。 对于那些坐在美国和美国的人来说在 2014年1月31日下午12点创建采购订单
(美国时间为UTC)

So According to US, Sales & purchase Order Date is 31-Jan
So According to India, Sales & purchase Order Date is 1-Feb

问题: 那么解决这个问题的标准方法是什么?我应该在图表或整个应用程序中显示什么,与美国或印度时间或一些共同时间 因为正在使用此应用程序的最终用户不会知道什么是UTc那个人只会对正确的值感兴趣。

谢谢。 任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

要处理这些情况,我们应始终在代码DateTime.UtcNow和数据库GETUTCDATE()中使用UTC格式的日期时间。

请参阅以下链接:

how to handle time zones and dates in multi country/lingual application

http://msdn.microsoft.com/en-us/library/bb397769.aspx?cs-save-lang=1&cs-lang=csharp#code-snippet-3