ASP.NET Boilerplate - 如何将Timezone添加到用户配置文件

时间:2017-12-07 22:54:54

标签: localization timezone aspnetboilerplate

用户个人资料页面似乎不允许用户指定他们的时区。我们应该如何添加此功能,以便用户可以选择并保存他们的时区,然后让网页显示本地化日期?

根据服务器的位置在我的浏览器中显示时间,所以我在当地时间早上7点编辑记录,看起来好像我将来4小时编辑它:)

对我来说,最佳解决方案是允许用户在其个人资料中指定他们的时区,然后将此设置反映在用户界面中显示的时间内。

2 个答案:

答案 0 :(得分:1)

您需要将Clock.Provider设置为服务器上的UTC时钟。文档告诉您需要设置它,但并不能真正告诉您在哪里。您只需要在启动过程中设置它。这是一个简短的文档链接。

Timing Documentation

希望有所帮助。

答案 1 :(得分:0)

我在... Web.Host的Startup.cs文件中将Clock.Provider设置为UTC,

// using Abp.Timing;    
public Startup(IHostingEnvironment env)
            {
                // Set Clock.Provider as UTC:
                Clock.Provider = ClockProviders.Utc;
                //_appConfiguration = env.GetAppConfiguration();
            }

如果Angular未发送日期UTC,则可以使用:

yourDate = abp.timing.convertToUserTimezone(yourDate); // to convert yourDate to date UTC.