簡體   English   中英

DateTime.Now 在 Blazor Webassembly 是 null

[英]DateTime.Now in Blazor Webassembly is null

我有這個代碼:

 DateTime now = DateTime.Now; // null
    decimal noon = 0m;
    int dayOfYear = now.DayOfYear; // reports 98, correct
    bool isAM = false;
    if (dayOfYear >= 80 && dayOfYear <= 260)
    {
        noon = 13m;
        int h = now.Hour; // 0 (should be 15)          
        isAM = now.Hour >= 13 ? false : true; // true (should be false)
    }

在組件中的 Blazor webassembly 中,當我調試時,“now”變量為 null 時,“dayOfYear”變量正確顯示 98,但“now.Hour”為 0,正確的計算機時間為下午 3:30,為什么是“now” ' 變量是 null? 以及它如何正確報告 dayOfYear 98? 為什么小時是0? 我正在使用 Blazor 3.2 使用其新的調試功能。

更新:小時是正確的,只有 DateTime 對象的“空”值讓我懷疑,如下面的屏幕截圖所示:

在此處輸入圖像描述

前幾天我遇到了類似的問題。 此時 Blazor Wasm 不包含任何時區信息,本地時區始終為 UTC。 但是,為了獲得正確的時區信息,有一個可用的修復程序。 看看這個: Blazor WebAssembly App(客戶端)時區套件

使用此代碼解決了我的問題,也許本地 Am Pm 是問題:

DateTime now = DateTime.Now.Date; // here
    int hour = DateTime.Now.Hour; // here       
    double noon = 0;
    int dayOfYear = now.DayOfYear; // here
    bool isAM = false;
    if (dayOfYear >= 80 && dayOfYear <= 260)
    {
        noon = 13;
        int h = hour; 
        isAM = hour >= 13 ? false : true; // here
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM