仅使用datetime获取当前日期时日期格式之间的差异

时间:2016-09-09 03:11:52

标签: c# asp.net datetime datetime-format

如果我的计算机日期时间格式为yy / mm / dd或mm / dd / yyyy或无论形成

Datetime date1 = ... /// assume date1 is date1 < date2 and  date1 < date3 
DateTime date2  = DateTime.Parse(DateTime.Now.ToString("dd-MM-yyyy")) ; 
DateTime  date3  = DateTime.Now.Date;

DateTime.Compare(date1 ,date2);  and DateTime.Compare(date1 ,date3);

会有什么结果?是date2,而date3在比较date1时返回1? DateTime.Parse(DateTime.Now.ToString("dd-MM-yyyy")等于DateTime.Now.Date

2 个答案:

答案 0 :(得分:3)

不确定你为什么要做DateTime.Parse(DateTime.Now.ToString("dd-MM-yyyy")); ..?

要回答您的问题,date2date3会因您的计算机(或运行此代码的设备)本地化而异。

因此,如果date1始终更早,您可以执行TimeSpan diff = date3 - date1;,这将为您提供TimeSpan个对象。然后,您可以diff.Days获取天数差异。

是的date3只有日期。时间将设置为午夜12:00。请参阅here

TimeSpan.Days

答案 1 :(得分:1)

如果您只想要没有时间的日期,那么您可以尝试   string x = DateTime.Now.ToShortDateString(); 结果将是x =“09-09-2016”