2015-12-14 63 views
0

我找到很多接近的答案,但没有符合我的情况。我们在众多国际时区都设有代理机构,为全美国和欧洲一些国家的物业拨打电话。我知道属性时区为“EST”,“PST”等属性时区的本地数据库,当然我也知道代理商的当地时间。鉴于当地时区和目标时区,我如何才能找到目标的当前时间C#

我应该使用什么方法以及什么时区参数我是否应该通过以确定目前在该物业的时间?如果目标物业位于美国东海岸,我应该通过“EST”吗?如果目前的日光节约时间是什么?我会通过“EDT”吗?我必须说明“东部标准时间”是有作为1 EST序转换等...

+0

每个代理计算机都有一个时区设置。数据存储时,本地时间自动存储为UTC。转换时间时应该非常小心。如果您需要转换使用以下内容:TimeZoneInfo pacific = TimeZoneInfo.FindSystemTimeZoneById(“Pacific Standard Time”); DateTime time = TimeZoneInfo.ConvertTime(DateTime.Now,pacific); – jdweng

回答

0

我会使用UTC,并指定偏移量,例如:?2015-12-12T06:53:39-05:00会表明它目前01:53:39是在美国东部时间2015-12-12

1

我会使用TimeZoneInfo的静态方法ConvertTime它将时间从一个时区转换为另一个时区。 它收到一个dateTime,一个sourceTimeZone和一个destinationTimeZone。

关于TimeZones,这是每个操作系统都知道的事情,你可以从TimeZoneInfo获得时区列表,然后这些对象会知道他们是否观察日光。为此,您可以使用FindSystemTimeZoneById