2017-09-14 18 views
-1

我需要從這個只得到了日期,而不是時間:。日返還小時,如何刪除?

DateTime.Parse(tr.SelectSingleNode(".//td[@class='full-date']").InnerText.Trim()).Date; 

,但我得到這樣的結果:

2018年3月24日12:00:00 AM

我怎麼能得到的只有:

2018年3月24日

注意,我保存結果的格式如下:

public DateTime Date { get; set; } 
+3

你DateTime對象是什麼它說,這是'Date' +'時間'...你不能僅使用日期創建日期時間對象,默認情況下它將有時間00:00(24小時製表示法) – EpicKip

+0

我不能只在屬性 –

+0

中設置「日期」對象呃,只是讓它離開它在00.00這是什麼問題?這樣,你有整整一天 – EpicKip

回答

6

請注意,我將結果保存的格式如下:

保存結果DateTime你不」類型的變量以某種格式保存。只有DateTime的字符串表示形式具有格式。 DateTime始終都是,日期和時間(我猜是因此的名稱;))

我怎樣才能得到:3/24/2018?當您嘗試使用ToString方法的此重載得到DateTime的字符串表示

這一點就變得很重要:

string string_representation = Date.ToString("MM/dd/yyyy", CultureInfo.InvariantCulture); 
1

這個怎麼樣?

 DateTime time = DateTime.Now; 
     Console.WriteLine(time.ToString("MM/dd/yy")); 
2

您不能從System.DateTime中刪除時間組件。如果您願意,您可以創建自己的日期表示。或者,你可以用得到的日期字符串,

Date.ToString("MM/dd/yyyy") 
1

考慮使用NodaTime,其中有一個日期沒有時間(反之亦然)的概念。

要轉換從DateTimeLocalDate

using System; 
using NodaTime; 

namespace YourApp.Extensions 
{ 
    public static class NodaTimeExtensions 
    { 
     public static LocalDate ToNodaLocalDate(this DateTime dateTime) 
     { 
      return new LocalDate(dateTime.Year, dateTime.Month, dateTime.Day); 
     } 
    } 
}