仅使用日期时间获取当前日期时日期格式不同

different between date format when get current date only using datetime

如果我的计算机日期时间格式为 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);

结果会怎样?比较 date1 时是 date2date3 return 1 吗? DateTime.Parse(DateTime.Now.ToString("dd-MM-yyyy") 等于 DateTime.Now.Date ?

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

为了回答您的问题,date2date3 将根据您的计算机(或 运行 此代码的设备)本地化而变得不同。

所以如果 date1 总是更早你可以做 TimeSpan diff = date3 - date1; 这会给你 TimeSpan 对象。然后你可以diff.Days得到天数差。

是的,date3 里面只有日期。时间将设置为 12:00 午夜。参见 here

TimeSpan.Days

如果你只想要没有时间的日期,那你可以试试 字符串 x = DateTime.Now.ToShortDateString(); 结果将是 x = "09-09-2016"