两个字符串时间和现在之间的差异

本文关键字:之间 时间 两个 字符串 | 更新日期: 2023-09-27 18:34:39

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

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

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

两个字符串时间和现在之间的差异

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

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

var xdateValue = DateTime.ParseExact(xdate, "hhmmssff", CultureInfo.InvariantCulture);
var difference = DateTime.Now - xdateValue;
if (difference.TotalMilliseconds < 200) ...
if (((DatetTime.Now - DateTime.ParseExact("03223311 ", "hhmmssff", CultureInfo.InvariantCulture))).Milliseconds > 200)
{
}