C# 与IF语句的日期时间比较不起作用

C# 与IF语句的日期时间比较不起作用,c#,xamarin.android,C#,Xamarin.android,我试图在xamarin中对DateTime进行比较,但失败,下面是我的代码: 当系统日期等于用户设置的时间时,它会向 信息 更有用的是使用两次之间的差异: var diffInSeconds = (dt - oDate).TotalSeconds; 因此: DateTime dt = DateTime.Now.ToLocalTime(); string timeset = "08:56".Trim(); DateTime oDate = DateTime.ParseExact(timeset,

我试图在
xamarin
中对
DateTime
进行比较,但失败,下面是我的代码:

当系统日期等于用户设置的时间时,它会向 信息


更有用的是使用两次之间的差异:

var diffInSeconds = (dt - oDate).TotalSeconds;
因此:

DateTime dt = DateTime.Now.ToLocalTime();
string timeset = "08:56".Trim();
DateTime oDate = DateTime.ParseExact(timeset, "HH:mm", null);
System.Diagnostics.Debug.WriteLine(" System Time :  " + dt + " Set Time : " + oDate);
var diffInSeconds = (dt - oDate).TotalSeconds;
System.Diagnostics.Debug.WriteLine(diffInSeconds);
if (Math.Abs(diffInSeconds) < 60)
{
    System.Diagnostics.Debug.WriteLine("Equal");
}
DateTime dt=DateTime.Now.ToLocalTime();
字符串timeset=“08:56”。Trim();
DateTime oDate=DateTime.ParseExact(timeset,“HH:mm”,null);
System.Diagnostics.Debug.WriteLine(“系统时间:+dt+”设置时间:+oDate”);
var diffinsonds=(dt-oDate).TotalSeconds;
系统.诊断.调试.写入线(不同的节点);
if(数学绝对值(差分键)<60)
{
系统.诊断.调试.写入线(“相等”);
}
这会将差值精确到最近的一分钟


通过谷歌可以找到很多例子。

你所说的“它无法工作”是什么意思?当时间设置等于系统时间日期时,它不会执行sartservice(),它里面有一条toast消息,你不想比较一个时间跨度吗?toast消息是什么?你知道odate不只是保持时间正确吗?
DateTime。现在
将类似于“11:37:05.342444”
oDate
将类似于“11:37:00.000000”,因此它们不相等。谢谢@Peter,我如何在IF语句中添加不同的项参见修订后的答案为什么我们说datediff的绝对值小于60,因为通知仍然没有发出,我已经设置了时间,但是系统日期已经到了,并且没有将其与时间设置进行比较。您可以将其设置为所需的时间。这只是一个建议,考虑到最近的时间。非常感谢@Peter
DateTime dt = DateTime.Now.ToLocalTime();
string timeset = "08:56".Trim();
DateTime oDate = DateTime.ParseExact(timeset, "HH:mm", null);
System.Diagnostics.Debug.WriteLine(" System Time :  " + dt + " Set Time : " + oDate);
var diffInSeconds = (dt - oDate).TotalSeconds;
System.Diagnostics.Debug.WriteLine(diffInSeconds);
if (Math.Abs(diffInSeconds) < 60)
{
    System.Diagnostics.Debug.WriteLine("Equal");
}