[英]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.