簡體   English   中英

將字符串轉換為日期沒有時間

[英]convert string to date without time

這條線

System.DateTime.Parse("09/12/2009"); 

將日期(字符串)轉換為9/12/2009 12:00:00 AM。 我怎樣才能在9/12/2009的表格中找到日期。

在解釋之后我做了:

DateTime dt = System.DateTime.Parse(Request.Form["datepicker"]);
dt.ToString("dd/mm/yyyy");
/* and this code have time, why???*/

你的問題不是解析,而是輸出。 看看ToString如何為DateTime工作,或者使用這個例子:

using System;

class Program
{
    static void Main(string[] args)
    {
        DateTime dt = DateTime.Parse("09/12/2009");
        Console.WriteLine(dt.ToString("dd/MM/yyyy"));
    }
}

或者在您的語言環境中獲取內容:

Console.WriteLine(dt.ToShortDateString());

更新:您對問題的更新意味着您還沒有完全理解我的答案,所以我會再添加一些解釋。 .NET中沒有日期 - 只有DateTime。 如果要在.NET中表示日期,可以通過存儲當天開始的午夜時間來完成。 即使您不需要,也必須始終存儲時間。 你無法刪除它。 重要的一點是,當您向用戶顯示此DateTime時,只顯示日期部分。

解析為DateTime對象的任何內容都將包含日期+時間。 如果沒有時間,則假定值為0000hr。

要獲取僅限日期的表示形式,您可以將其格式化為字符串。

例如theDate.ToString("dd/MM/yyyy")

請參閱MSDN 日期和時間格式字符串

如果要將gridview datetime列轉換為僅日期列,請使用以下代碼:

raddgvDaybook.Rows.ToList().ForEach(x =>
{
    DateTime dt = DateTime.Parse(x.Cells["Vocdate"].Value.ToString());
    string str = string.Format("{0:MM/dd/yyyy}", dt);
    x.Cells["Vocdate"].Value = str;
});

如果你將日期時間綁定為dgv中的字符串,我測試了它將起作用的代碼。

暫無
暫無

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

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