Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在C中使用DateTime类型将长格式日期转换为短格式日期#_C# - Fatal编程技术网

C# 如何在C中使用DateTime类型将长格式日期转换为短格式日期#

C# 如何在C中使用DateTime类型将长格式日期转换为短格式日期#,c#,C#,我想将长dateTime转换为C#中的仅日期。并且都是日期时间类型 DateTime creationDate = DateTime.Now; DateTime shortDate = creeationDate.Date; DateTime是一个结构,顾名思义,它总是包含日期和时间组件。您无法删除时间,而且据我所知,.NET中没有内置的仅日期类型(可能在某些第三方库中) 您已经发现了DateTime的Date属性,该属性返回一个新的DateTime,时间组件设置为00:00:00.000 如

我想将长dateTime转换为C#中的仅日期。并且都是日期时间类型

DateTime creationDate = DateTime.Now;
DateTime shortDate = creeationDate.Date;

DateTime
是一个结构,顾名思义,它总是包含日期和时间组件。您无法删除时间,而且据我所知,.NET中没有内置的仅日期类型(可能在某些第三方库中)

您已经发现了
DateTime
Date
属性,该属性返回一个新的
DateTime
,时间组件设置为
00:00:00.000

如果只需要输出当前日期,则必须在
DateTime

DateTime creationDate = DateTime.Now;
string shortDate = creatationDate.ToString("yyyy-MM-dd"); //or whatever formatting you need. 
如果需要对日期进行计算,但希望忽略时间组件,则可以像在代码中所做的那样相应地初始化日期

DateTime creationDate = DateTime.Now.Date; //sets time component to 00:00
DateTime otherDate = new DateTime(2016, 11, 2, 0,0,0);  //also initializies with time 00:00
int diff = (int)(otherDate-creationDate).TotalDays; //number of days between the two dates

您的
shortDate
将有零时间(午夜)。此代码无法编译。creEationDate不是creationDate。也许这就是问题所在。这个问题是由一个无法再复制的问题或一个简单的印刷错误引起的。虽然类似的问题可能在这里的主题,这是一个解决的方式不太可能帮助未来的读者。这通常可以通过在发布前确定并仔细检查重现问题所需的最短程序来避免。您是否尝试过格式化日期?修正
creationdate
然后更新您的问题。