0

我们在英国的服务器上托管了一个应用程序,全世界的客户都可以访问它。我们的客户为他们的公司打开了一个订单,随着时间的推移而增加。他们在设置订单时需要做的一件事是选择订单关闭日期,此时订单将自动关闭并提交。

我们希望在客户选择的日期的午夜(基于时区的当地时间)关闭任何订单,但是当我们考虑不同的时区时,这会带来问题,因为我们的服务器在英国。我们的服务器需要知道在哪个英国时间关闭订单,以便客户在他们的时间午夜看到他们的订单关闭。

我们要求客户在设置帐户时输入他们的时区,因此我们将其作为 .net timezoneinfo id 存储在数据库中。我们还将存储 targetCloseDate,即 2012 年 9 月 30 日(以便向用户显示)。但是,我们需要将目标日期转换为我们的服务器用作订单关闭日期的英国时间。

我们如何进行这种转换?

欢呼翼

4

1 回答 1

0

在更多地研究 timezoneinfo 类后,我自己回答了这个问题。您可以使用:

   TimeZoneInfo.ConvertTimeBySystemTimeZoneId(orderCloseDate, customerTimeZone, TimeZoneInfo.Local.Id)

这将转换日期时间值 - orderCloseDate 使用源时区和目标时区......完美!

翅膀

于 2012-09-29T08:04:39.433 回答