我目前正在研究Blazor的一些演示和示例,发现在任何受支持的浏览器中,它始终以UTC格式显示 DateTime 和时区。我的实际时区与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}");
}
}
答案 0 :(得分:3)
本地化。我写了一篇帖子(https://chrissainty.com/simple-localisation-in-blazor/),展示了如何在Blazor应用中实现本地化。
如果您只是想继续学习而不自己写东西,我也发布了一个nuget软件包Blazored.Localisation。
答案 1 :(得分:2)
当在客户端运行Blazor时,这是与Mono Runtime相关的已知问题。正在被WebAssembly: Missing Timezone implementation
跟踪您可以将此库用作解决方法Toolbelt.Blazor.TimeZoneKit
答案 2 :(得分:0)
如果您想在浏览器中显示当地时间的日期和时间,请查看 Blazor Time 库。
它引入了一个 <ToLocal>
标签,您可以在其中输入 UTC 或服务器时间,然后将其转换为本地时间。
<ToLocal DateTime="testUtcTime" Format="ddd mmm dd yyyy HH:MM:ss"></ToLocal>