簡體   English   中英

如何在C#中使用linq格式化對象集合中的日期

[英]how to format a date inside a collection of objects using linq in c#

我在集合中有一個對象列表,需要在對象日期屬性(NoteDate)上設置日期格式,以使用"dd'/'MM'/'yyyy HH:mm:ss"等格式顯示日期,而在數據庫中日期格式類似於'2015-02-19 00:00:00.000' 下面是我的對象

 public class Note
 {
 public int Id { get; set; }
 public string NoteText { get; set; }
 public DateTime? NoteDate { get; set; }
 }

然后按如下所示填充集合

var notesList=  _uow.Find<Note>(n => n.FK == leadId).ToList();

我們如何編寫查詢以獲取所需的日期格式? 謝謝

您正確地將日期存儲在DateTime? 賓語。 DateTime只是一種存儲機制。

您真正感興趣的是如何在某些UI中顯示 DateTime

因此,這是您的日期/時間將要采取的步驟:

  1. 從數據庫獲取返回的查詢內容
  2. 獲取存儲在DateTime屬性中
  3. 向用戶顯示

要格式化DateTime對象中的值,有幾個選項-查看DateTime類上的方法。

您的日期將表示為DateTime實例。.NET如何決定表示日期。

當您向用戶顯示它們/使用它們在某處顯示時,您只需在那時格式化它們即可。 例如:

var notesList = _uow.Find<Note>(n => n.FK == leadId).ToList();

var thirdNoteDateString = notesList[2].NoteDate.ToString("dd MM yyyy");

或者,也許在Razor視圖中(如果這是MVC應用程序):

@foreach (var n in Model.Notes) {
    <p>@n.NoteDate.ToString("dd MM yyyy")</p>
}

希望那能顯示出差異。 當您決定顯示日期時,如何顯示日期取決於您。

您不應僅出於顯示目的而修改商務對象的內容,而應使用轉換器或StringFormat之類的格式:

<TextBlock Text="{Binding Date, StringFormat={}{0:MM/dd/yyyy}}" />

查看此問題以獲取更多信息

暫無
暫無

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

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