每日估算值

时间:2017-10-27 05:15:35

标签: c# datetime

我有一个开始时间和不断增加的价值。我试图获得这个增加值的每日平均值。问题是我无法想到如何从DateTime获取一个小数乘以该值。

1 个答案:

答案 0 :(得分:1)

DateTime个对象可以相互减去,得到TimeSpan。 TimeSpan具有.TotalDays属性,表示计算TimeSpan的两次之间的天数。从较晚的时间中减去较早的时间非常重要。现在的时间减去12小时前的时间,给出.TotalDays为0.5

的TimeSpan
var val = 24;
var startTime = DateTime.Now.AddHours(-12); //fake 12h ago
var dailyAvg = val / (DateTime.Now - startTime).TotalDays;

TimeSpan也有一个.Days属性,但这不是你想要的,因为它是整个天数的整数..名称如.TotalXXX的属性给出了代表整个TimeSpan的小数和分数的小数指定的单位。没有单词Total in的属性将用于格式化字符串,如:

var ts = DateTime.Now - messagePostingDate;
var ago = "Message posted " + ts.Days + " days and " + ts.Hours + " hours ago";