ASP.NET 样板 - 如何将时区添加到用户配置文件
ASP.NET Boilerplate - How to add Timezone to user profile
用户个人资料页面似乎不允许用户指定他们的时区。我们应该如何添加此功能,以便用户可以 select 并保存他们的时区,然后让网页显示本地化日期?
我的浏览器显示的是服务器所在的时间,所以我在当地时间早上 7 点编辑了一条记录,看起来好像我在 4 小时后编辑了它:)
对我来说最好的解决方案是允许用户在他们的个人资料中指定他们的时区,然后将此设置反映在 UI 中显示的时间中。
您需要将 Clock.Provider 设置为服务器上的 UTC 时钟。该文档告诉您需要设置它,但并没有真正告诉您在哪里。你只需要在启动过程中设置它。这是简要涉及它的文档的 link。
希望对您有所帮助。
我在 Startup.cs 的文件 Startup.cs 中将 Clock.Provider 设置为 UTC Web.Host OK
// 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.
用户个人资料页面似乎不允许用户指定他们的时区。我们应该如何添加此功能,以便用户可以 select 并保存他们的时区,然后让网页显示本地化日期?
我的浏览器显示的是服务器所在的时间,所以我在当地时间早上 7 点编辑了一条记录,看起来好像我在 4 小时后编辑了它:)
对我来说最好的解决方案是允许用户在他们的个人资料中指定他们的时区,然后将此设置反映在 UI 中显示的时间中。
您需要将 Clock.Provider 设置为服务器上的 UTC 时钟。该文档告诉您需要设置它,但并没有真正告诉您在哪里。你只需要在启动过程中设置它。这是简要涉及它的文档的 link。
希望对您有所帮助。
我在 Startup.cs 的文件 Startup.cs 中将 Clock.Provider 设置为 UTC Web.Host OK
// 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.