我需要刪除日期時間的時間部分,或者可能在對象窗體中使用以下格式的日期而不是字符串形式。如何在僅用於DateTime對象的C#中刪除日期的時間部分
2014年6月26日00:00:00:000
因爲我需要在對象形式的日期我不能使用任何字符串轉換方法。
我首先嚐試將日期轉換爲字符串,從中刪除時間特定的日期,但它會在我將其再次轉換爲DateTime對象後立即添加12:00:00 AM。
我需要刪除日期時間的時間部分,或者可能在對象窗體中使用以下格式的日期而不是字符串形式。如何在僅用於DateTime對象的C#中刪除日期的時間部分
2014年6月26日00:00:00:000
因爲我需要在對象形式的日期我不能使用任何字符串轉換方法。
我首先嚐試將日期轉換爲字符串,從中刪除時間特定的日期,但它會在我將其再次轉換爲DateTime對象後立即添加12:00:00 AM。
我需要刪除的日期時間時部分...
這是不可能的。你不能有沒有時間信息的DateTime
實例。例如,您不能只有06/26/2014
或只有00:00:00:000
DateTime
實例。
如果你只想得到日期的一部分,你可以使用DateTime.Date
property。
獲取日期此實例的組件。
但是,這個.Date
屬性分配它的時間部分到午夜。
請記住,DateTime
沒有任何隱式格式。它只有日期和時間值。 格式的概念僅適用於當您要將其顯示爲string
時。
在表示部分,你必須使用字符串表示法;
yourDateTime.ToString("MM/dd/yyyy", CultureInfo.InvariantCulture);
它(yourDateTime.ToString(「MM/dd/yyyy」,CultureInfo.InvariantCulture);)刪除時間部分? – 2015-10-04 23:25:56
@ r.hamd當您使用'ToString'方法時,您將生成'DateTime'的_textual_(又名字符串)表示。這意味着,它不再是'DateTime'了。這是一個「字符串」。當然你可以通過生成_only_日期部分來生成它的字符串表示,但是你不能有'DateTime'實例_without_時間部分。理解它們之間的區別是非常重要的。 – 2017-07-26 06:30:17
您不能在沒有時間的情況下創建DateTime對象。它總是有一些時間。
如果你想輸出它沒有時間部分,你可以使用一個format string這樣做:
date.ToString("MM/dd/yyyy");
Standard Date and Time Format Strings
Custom Date and Time Format Strings
正如其他人所說,你可以訪問date.Date
得到一個具有任何特定時間信息的值被省略,但仍然具有00:00 AM的時間。
OP想要一個'DateTime':_「不是以字符串的形式」_。我猜[Adil的回答](http://stackoverflow.com/a/27561540/284240)是他正在尋找的。 – 2014-12-19 07:53:23
@TimSchmelter那麼,OP運氣不好,除非他們想使用.NET核心以外的東西。但這聽起來像是一個X-> Y的問題。問題是爲什麼他們想要這個。 – JLRishe 2014-12-19 07:54:29
我猜測OP是困惑的,因爲DateTime在末尾似乎有'12:00:00 AM',但這就是它在任何地方看它的方式。因爲他不想要一個字符串,所以他用'DateTime.Date'達到了目標。 – 2014-12-19 07:56:25
var dateAndTime = DateTime.Now;
var date = dateAndTime.Date;
date變量將包含日期,時間部分將是00:00:00。
{07/09/15 12 :00:00 AM} – 2015-10-04 23:31:51
對不起,讀錯了。你說'06/26/2014 00:00:00:000'也可以嗎?太好了,因爲上午12:00:00就是這樣。正如所有答案所顯示的那樣,不需要字符串操作。 – Corak 2014-12-19 07:50:34