C#中的日期时间

5 c#

在C#中如果我想解析一个日期时间,但有时候我只有一个日期而不是时间组件或没有日期而是一个时间组件,我该怎么做?通常,当您省略时间组件时,它会自动假定时间是12:00 AM.但我不想要这个.如果缺少时间组件,那么我只希望DateTime仅存储日期并保留时间组件.

Tom*_*ier 17

内部的DateTime值只是一个UInt64(ulong在C#中),它存储了自上一个日期以来的刻度数,因此无论您是否喜欢,时间组件将始终存在.


Joh*_*sch 8

如果您只需要显示某些部分,只需使用任何格式字符串(例如"en-us"文化):

DateTime.Now.ToString("d"); // 5/26/2009
DateTime.Now.ToString("t"); // 4:56 PM
Run Code Online (Sandbox Code Playgroud)

完整参考:http://msdn.microsoft.com/en-us/library/az4se3k1.aspx


Meh*_*ari 6

DateTime没有时间组件是不可能的.您可以在其中存储布尔标志struct以存储有关该组件存在的数据.但是,没有办法使用自动解析例程来区分DateTime具有指定时间的字符串12:00 PM和不存在的字符串.


Spe*_*ort 5

如果它真的让你烦恼,你总是可以创建一个包装类来隐藏datetime类的时间部分.