Blazor 始终以 UTC 格式显示日期
Blazor always shows dates in UTC format
我目前正在处理一些 Blazor 演示和示例,发现在任何受支持的浏览器中,它始终以 UTC
格式显示日期时间和时区。我的实际时区与 UTC 不同。
Blazor 或 WebAssembly 有什么限制吗?我使用的是 Blazor 版本 0.7.0 并且有一个代码片段
@functions
{
protected override void OnInit()
{
Console.WriteLine($"OS: {RuntimeInformation.OSDescription} {RuntimeInformation.OSArchitecture}");
Console.WriteLine($"Processor: {RuntimeInformation.ProcessArchitecture}");
Console.WriteLine($"Timezone is {TimeZoneInfo.Local}");
Console.WriteLine($"Date time is {DateTime.Now}");
}
}
编辑: 根据 WebAssembly: Missing Timezone implementation GitHub 问题,它仍然是一个悬而未决的问题
当 Blazor 在客户端 运行 时,这是一个与 Mono 运行时相关的已知问题。 WebAssembly: Missing Timezone implementation
正在跟踪
您可以使用此库作为解决方法 Toolbelt.Blazor.TimeZoneKit
mono 当前不支持本地化。我写了一篇 post (https://chrissainty.com/simple-localisation-in-blazor/) 来展示如何在 Blazor 应用程序中实现本地化。
我还发布了一个 nuget 包 Blazored.Localisation 如果你只是想继续学习而不是自己写东西。
如果您想在浏览器中显示当地时间的日期和时间,请查看 Blazor Time 库。
它引入了一个 <ToLocal>
标签,您可以在其中输入 UTC 或服务器时间,它会将其转换为本地时间。
<ToLocal DateTime="testUtcTime" Format="ddd mmm dd yyyy HH:MM:ss"></ToLocal>
我目前正在处理一些 Blazor 演示和示例,发现在任何受支持的浏览器中,它始终以 UTC
格式显示日期时间和时区。我的实际时区与 UTC 不同。
Blazor 或 WebAssembly 有什么限制吗?我使用的是 Blazor 版本 0.7.0 并且有一个代码片段
@functions
{
protected override void OnInit()
{
Console.WriteLine($"OS: {RuntimeInformation.OSDescription} {RuntimeInformation.OSArchitecture}");
Console.WriteLine($"Processor: {RuntimeInformation.ProcessArchitecture}");
Console.WriteLine($"Timezone is {TimeZoneInfo.Local}");
Console.WriteLine($"Date time is {DateTime.Now}");
}
}
编辑: 根据 WebAssembly: Missing Timezone implementation GitHub 问题,它仍然是一个悬而未决的问题
当 Blazor 在客户端 运行 时,这是一个与 Mono 运行时相关的已知问题。 WebAssembly: Missing Timezone implementation
正在跟踪您可以使用此库作为解决方法 Toolbelt.Blazor.TimeZoneKit
mono 当前不支持本地化。我写了一篇 post (https://chrissainty.com/simple-localisation-in-blazor/) 来展示如何在 Blazor 应用程序中实现本地化。
我还发布了一个 nuget 包 Blazored.Localisation 如果你只是想继续学习而不是自己写东西。
如果您想在浏览器中显示当地时间的日期和时间,请查看 Blazor Time 库。
它引入了一个 <ToLocal>
标签,您可以在其中输入 UTC 或服务器时间,它会将其转换为本地时间。
<ToLocal DateTime="testUtcTime" Format="ddd mmm dd yyyy HH:MM:ss"></ToLocal>