用户个人资料页面似乎不允许用户指定他们的时区。我们应该如何添加此功能,以便用户可以选择并保存他们的时区,然后让网页显示本地化日期?
时间在我的浏览器中根据服务器的位置显示,所以我在当地时间早上7点编辑记录,看起来好像我将来4小时编辑它:)
对我来说,最好的解决方案是允许用户在其个人资料中指定他们的时区,然后将此设置反映在UI中显示的时间内。
您需要将Clock.Provider设置为服务器上的UTC时钟。文档告诉您需要设置它但不会真正告诉您在哪里。您只需要在启动过程中设置它。这是一个简要介绍它的文档的链接。
希望有所帮助。
我将Clock.Provider设置为文件Startup.cs中的UTC ... Web.Host是正常的
// 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.