【问题标题】:Blazor always shows dates in UTC formatBlazor 始终以 UTC 格式显示日期
【发布时间】:2019-02-20 14:41:41
【问题描述】:

我目前正在处理一些 Blazor 演示和示例,并发现在任何受支持的浏览器中,它始终以 UTC 格式显示日期时间和时区。我的实际时区与 UTC 不同。

在 Blazor 或 WebAssembly 中是否有任何限制?我正在使用 Blazor 版本 0.7.0,并且有一个代码 sn-p

@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问题,它仍然是一个未解决的问题

【问题讨论】:

    标签: c# .net-core webassembly blazor


    【解决方案1】:

    这是在客户端运行 Blazor 时与 Mono Runtime 相关的已知问题。正在被WebAssembly: Missing Timezone implementation跟踪

    您可以将此库用作解决方法Toolbelt.Blazor.TimeZoneKit

    【讨论】:

      【解决方案2】:

      mono 目前不支持本地化。我写了一篇文章 (https://chrissainty.com/simple-localisation-in-blazor/),展示了如何在 Blazor 应用程序中实现本地化。

      我还发布了一个 nuget 包 Blazored.Localisation,如果你只是想继续而不是自己写东西。

      【讨论】:

        【解决方案3】:

        如果您想在本地时间的浏览器中显示日期和时间,请查看Blazor Time 库。

        它引入了一个 <ToLocal> 标签,您可以在其中输入 UTC 或服务器时间,它会将其转换为本地时间。

        <ToLocal DateTime="testUtcTime" Format="ddd mmm dd yyyy HH:MM:ss"></ToLocal>
        

        【讨论】:

          猜你喜欢
          • 2023-01-16
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-10-08
          • 2023-04-06
          • 2022-07-07
          • 2021-06-26
          • 1970-01-01
          相关资源
          最近更新 更多