我有一个开始的时间和一个不断增加的价值。我试图得到这个不断增长的价值的每日平均值。问题是,我想不出如何从DateTime中得到一个小数来与值相乘。
发布于 2017-10-27 05:36:53
DateTime对象可以互相减除,从而给出一个TimeSpan。TimeSpan具有一个.TotalDays属性,该属性表示计算TimeSpan的两次之间的天数。重要的是,从后面的时间中减去较早的时间。现在的时间,减去12小时前的时间,给出了一个TimeSpan,其.TotalDays为0.5
var val = 24;
var startTime = DateTime.Now.AddHours(-12); //fake 12h ago
var dailyAvg = val / (DateTime.Now - startTime).TotalDays;TimeSpan也有一个.Days属性,但这不是您想要的,因为它是整个天数的整数。名为.TotalXXX的属性给出了以命名单元的整体和分数表示整个TimeSpan的小数。没有单词Total的属性将在格式化字符串中使用,如:
var ts = DateTime.Now - messagePostingDate;
var ago = "Message posted " + ts.Days + " days and " + ts.Hours + " hours ago";https://stackoverflow.com/questions/46967951
复制相似问题