C# 获取只剩下结束日期和当前日期的剩余时间百分比
我有两个变量:C# 获取只剩下结束日期和当前日期的剩余时间百分比,c#,datetime,C#,Datetime,我有两个变量:endDate=newdatetime(2013,10,24,17,30,35)和currentDate=DateTime.Now。剩余时间为endDate-currentDate。我如何将其转化为百分比 编辑:我明白了,我想知道这两个数字是否会产生某种疯狂的数学魔法,但我想没有开始日期是不可能的。你不能,因为你需要知道开始日期。我知道了 endDate - currentDate = 100% The amount of time remaining!! 或如果您修改代码以便:
endDate=newdatetime(2013,10,24,17,30,35)
和currentDate=DateTime.Now
。剩余时间为endDate-currentDate
。我如何将其转化为百分比
编辑:我明白了,我想知道这两个数字是否会产生某种疯狂的数学魔法,但我想没有开始日期是不可能的。你不能,因为你需要知道开始日期。我知道了
endDate - currentDate = 100% The amount of time remaining!!
或如果您修改代码以便:
endDate = new DateTime(2013, 10, 24, 17, 30, 35)
及
剩余时间为endDate-DateTime.Now()
然后你可以把它转换成一个百分比
amountLeftDate= endDate - DateTime.Now()
if (!(s >= DateTime.Now()) && amountLeftDate > 0) {
percentoftimeleft = (amountLeftDate) * 100 / (endDate - startDate);
}
每次你跑步的百分比是多少?一个百分比就是一个比例——大概你对剩余时间与“原始”时间的比例感兴趣。。。如果没有原始的时间量,它就没有任何百分比。我假设你也有一个
startDate
?你需要一个开始日期来计算还剩多少时间,否则你只是从DateTime开始倒计时。现在到endDate
“疯狂魔法数学”无法解决信息不足的问题。暂时忘掉电脑吧:如果我给你“2012年6月10日”作为当前日期,“2014年8月13日”作为结束日期,结果会是什么?为什么?如果你不能回答这个问题,那么无论程序多么智能,计算机也无法回答。你的百分比计算缺少分母。总时间或开始日期需要另一个变量,以便计算总时间。
amountLeftDate= endDate - DateTime.Now()
if (!(s >= DateTime.Now()) && amountLeftDate > 0) {
percentoftimeleft = (amountLeftDate) * 100 / (endDate - startDate);
}