在C ++中我会这样做:
auto loadingTime = TimeUtilities::getDistance<milliseconds_t>(TimeUtilities::getNow(), startTime);
std::cout << "Reset all accounts and players in " << std::setprecision(3) << loadingTime / 1000.f << " seconds!" << std::endl << std::endl;
然而在C#中我尝试做类似的事情,但失败了:
double loadingTime = TimeUtil.GetDistanceInMilliseconds(DateTime.Now, startTime);
Console.WriteLine("Reset all accounts and characters in {0:0.000} seconds!", loadingTime);
方法GetDistanceInMilliseconds
只返回两个TotalMilliseconds
对象之间TimeSpan
的{{1}}值。
如何在C#中模仿相同的行为?
编辑:如果DateTime
值小于1秒,则将值除以1000f
即可。如果超过1秒,显示的值将是错误的。
我的目标是显示从起点到终点的加载时间(loadingTime
是起点,DateTime.Now
是终点),以毫秒为单位(最多3个小数点)。
答案 0 :(得分:0)
使用0.###
说明符:
7d.ToString("0.###", CultureInfo.InvariantCulture);
返回7
,
0.007d.ToString("0.###", CultureInfo.InvariantCulture);
返回0.007