Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/323.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#_.net_Silverlight_Datetime_Timespan - Fatal编程技术网

C# 根据日期而不是持续时间获取日跨度?

C# 根据日期而不是持续时间获取日跨度?,c#,.net,silverlight,datetime,timespan,C#,.net,Silverlight,Datetime,Timespan,我试图得到两个日期时间之间的天数,但不是根据确切的时间跨度,而是根据日期a和日期b之间的“日期”差。不考虑时间 到目前为止,我使用以下公式计算物品的使用年限: (DateTime.Now - creationDate).Days 这段代码的问题是,对于前一天创建但不到24小时的东西,它将输出“0天”,这对我的用户来说显然不是很清楚 所以我想要完成的是,即使是对于一个在晚上11:59创建的项目,当时钟到达午夜时,也能得到一个“1天”的输出。我如何才能做到这一点?有两种选择: 1) 首先考虑两个日

我试图得到两个日期时间之间的天数,但不是根据确切的时间跨度,而是根据日期a和日期b之间的“日期”差。不考虑时间

到目前为止,我使用以下公式计算物品的使用年限:

(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:我不认为这与这个案例有什么关系。你是对的。我假设背后的问题是向用户显示一个清晰的时间跨度。因此,我给出了这个链接作为一个评论,以期能激发一些想法。