簡體   English   中英

在 C# 中格式化可為空的 DateTime

[英]Format nullable DateTime in C#

我試圖從可為空的DateTime對象中僅獲取日期部分。 我試過這個東西

string dueDate = siteRow.DueDate.ToString(cultureInfo.DateTimeFormat.ShortDatePattern)

但它拋出錯誤:

錯誤 CS1501 方法“ToString”沒有重載需要 1 個參數

在上面的siteRow.DueDate是一個 DateTime 對象。 我無法弄清楚正確的語法。 請幫我解決這個問題。

Nullable<T>是包裝 T 類型的通用包裝器

它有兩個屬性:Value 和 HasValue。 Value 是包裝對象的值,HasValue 是一個布爾值,指示是否在 Value 屬性中獲取值。 如果 HasValue 為 true,則 Value 將不是默認值(通常為 null 或空結構)。 如果 HasValue 為 false,則 Value 將是默認值。

所以要訪問 DateTime 的 ToString 方法,您需要調用DueDate.Value.ToString

將是

var dueDate = siteRow.DueDate.HasValue ? siteRow.DueDate.Value.ToString(cultureInfo.DateTimeFormat.ShortDatePattern) : null

或使用縮寫語法

var dueDate = siteRow.DueDate?.ToString(cultureInfo.DateTimeFormat.ShortDatePattern);

暫無
暫無

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

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