2015-01-14 81 views
1

我确实有一个下拉列表,其中列出了多个国家/地区,当我选择特定的国家/地区时,应用程序的每个页面上显示它的时间都必须根据所选国家时区。例如,如果从下拉菜单中选择美国,然后选择整个应用程序时间应按照美国时区显示。根据时区更改时间

+0

那么?分享你迄今为止尝试过的... 有很多方法可以做到这一点。会话变量。配置设置。推送布局中的值并在适用的地方显示它。 – Nikitesh

+0

我还没有开始呢..通过几个帖子..我标准的方式,我可以找到存储的时间UTC和减去偏移量..但如何做到这一点,我需要知道,因为它是每下拉更改.. – SantyEssac

回答

1
  1. 您可以通过TimeZoneInfo

    @Html.DropDownListFor(model => model.Value, 
           new SelectList(TimeZoneInfo.GetSystemTimeZones().ToList(), 
                 "id", "DisplayName", Model.Value)) 
    
    的inbulit功能展示时区

2.You可以使用下面的函数转换任何时区为UTC:

ConvertToUTC(DateTime datetime){ 
    //Get the Time zone from the time zone id. 
     TimeZoneInfo zone = TimeZoneInfo.FindSystemTimeZoneById(Model.Value); 
    //Convert time from utc to the local time zone. 
     time = TimeZoneInfo.ConvertTimeFromUtc(datetime, zone); 
    } 

3 。在布局/视图中,您可以通过将其推入ViewBag