两个字符串时间与现在

时间:2016-02-13 22:28:03

标签: c# .net time

我有一个像03223311(hhmmssff)这样的字符串。我要将它与DateTime.Now进行比较,看看这些值之间的差异是否低于200毫秒。

   xdate="03223311";

   if(Math.Abs(Convert.ToInt32(xdate) - Convert.ToInt32(DateTime.Now.ToString("hhmmssff")))<200)

我尝试在间隔为1的计时器中运行上面的行,但即使我将xdate更改为当前时间,我也无法达到该条件。你知道如何解决问题甚至是更好的方法吗?

3 个答案:

答案 0 :(得分:3)

string input = "03223311";

var diff = DateTime.Now.TimeOfDay.Subtract(
                TimeSpan.ParseExact(input, "hhmmssff", null)
           ).TotalMinutes; //or any other value like TotalMilliseconds

答案 1 :(得分:2)

我首先将字符串转换为DateTime,以便您可以比较苹果和苹果,并利用DateTime对象的功能。一旦有两个DateTime对象,就可以减去它们以获得TimeSpan。 TimeSpan将具有TotalMilliseconds属性,您可以将其与200常量进行比较。

var xdateValue = DateTime.ParseExact(xdate, "hhmmssff", CultureInfo.InvariantCulture);
var difference = DateTime.Now - xdateValue;
if (difference.TotalMilliseconds < 200) ...

答案 2 :(得分:1)

if (((DatetTime.Now - DateTime.ParseExact("03223311 ", "hhmmssff", CultureInfo.InvariantCulture))).Milliseconds > 200)
{

}