C# 根据日期而不是持续时间获取日跨度?
我试图得到两个日期时间之间的天数,但不是根据确切的时间跨度,而是根据日期a和日期b之间的“日期”差。不考虑时间 到目前为止,我使用以下公式计算物品的使用年限:C# 根据日期而不是持续时间获取日跨度?,c#,.net,silverlight,datetime,timespan,C#,.net,Silverlight,Datetime,Timespan,我试图得到两个日期时间之间的天数,但不是根据确切的时间跨度,而是根据日期a和日期b之间的“日期”差。不考虑时间 到目前为止,我使用以下公式计算物品的使用年限: (DateTime.Now - creationDate).Days 这段代码的问题是,对于前一天创建但不到24小时的东西,它将输出“0天”,这对我的用户来说显然不是很清楚 所以我想要完成的是,即使是对于一个在晚上11:59创建的项目,当时钟到达午夜时,也能得到一个“1天”的输出。我如何才能做到这一点?有两种选择: 1) 首先考虑两个日
(DateTime.Now - creationDate).Days
这段代码的问题是,对于前一天创建但不到24小时的东西,它将输出“0天”,这对我的用户来说显然不是很清楚
所以我想要完成的是,即使是对于一个在晚上11:59创建的项目,当时钟到达午夜时,也能得到一个“1天”的输出。我如何才能做到这一点?有两种选择:
1) 首先考虑两个日期:
var days = (DateTime.Today - creationDate.Date).Days;
2) 改为使用我的日期/时间库,对涉及的两个日期使用LocalDate
,然后使用Period.Between(开始、结束、PeriodUnits.Days)
获得仅天的周期。(你也可以得到几周、几个月等)无可否认,在野田佳彦时间里,获得“今天的日期”有点麻烦-在.NET隐式使用“系统时区”的地方,野田佳彦时间迫使你更加明确。两个选项:
1) 首先考虑两个日期:
var days = (DateTime.Today - creationDate.Date).Days;
2) 改为使用我的日期/时间库,对涉及的两个日期使用
LocalDate
,然后使用Period.Between(开始、结束、PeriodUnits.Days)
获得仅天的周期。(你也可以得到几周、几个月等)无可否认,在野田佳彦的时间里,得到“今天的日期”有点麻烦——在.NET隐式使用“系统时区”的地方,野田佳彦的时间迫使你更加明确。我会像这样使用它
int days =(int)DateTime.Now.Subtract(creationDate).TotalDays;
希望这有帮助我会像这样简单地使用它
int days =(int)DateTime.Now.Subtract(creationDate).TotalDays;
希望这对你有所帮助这个问题应该让你发问:@Laurent:我看不出这与本案有什么关系。你说得对。我假设背后的问题是向用户显示一个清晰的时间跨度。所以我把这个链接作为一个评论,以防它可能会激发一些想法。这个问题应该是问你的:@Laurent:我不认为这与这个案例有什么关系。你是对的。我假设背后的问题是向用户显示一个清晰的时间跨度。因此,我给出了这个链接作为一个评论,以期能激发一些想法。