C#计算提供的字符串剩余的时间(以毫秒为单位)

时间:2018-01-31 07:53:56

标签: c# datetime timespan milliseconds

我的问题如下,我从网站上提取一串原始数据,它包含一个以毫秒为单位的值。现在我想计算将来剩余的时间。首先我尝试将当前时间转换为毫秒,我也尝试将毫秒的字符串转换为我可以使用的时间值,但这些都不起作用。这可能是一个非常基本的问题,但我是新的,试着学习。

我正在使用代码片段。

DateTime baseDate = new DateTime(1970, 1, 1);   
long dissapearTime = long.Parse(test.disappear_time.ToString()); 
TimeSpan diff = DateTime.Now - baseDate;
Console.WriteLine(diff.TotalMilliseconds-dissapearTime);
string oeps = diff.TotalMilliseconds.ToString();

我的字符串仍然是空的..

1 个答案:

答案 0 :(得分:2)

最简单的解决方案是将时间转换为适当的DateTime obejct并使用标准DateTime计算。

// 1ms = 10000 ticks, there may be a constant for that in DateTime, but I am not 100% sure
DateTime disappearTime = new DateTime(long.Parse(test.disappear_time.ToString()) * 10000);
Console.WriteLine(disappearTime - DateTime.Now);

请注意,此转换从毫秒开始计算在1年1月1日。因此,如果这些毫秒从另一个日期开始(您提到1970年1月1日),您也必须减去该日期。