一个算法:关于如何判断两个时间是否在允许误差内相等

本文介绍了如何在C#项目中判断两个时间是否在允许的误差范围内相等。作者提供了相关类中的自定义方法来实现这一功能,旨在分享和学习。
摘要由CSDN通过智能技术生成

说明:以下文中本人使用的是C#语言,且时间精度为秒

有时候项目中会要求去判断两个时间是否是相等的,且是在误差范围内相等的,以下是本人项目中用到的算法,仅当做记事本而已,如有问题请指正,愿意相互学习。

相关类中自定义方法

// function: 判断两个时间是否在允许误差内相等
// params: 时间1、时间2、允许误差
public bool isTimeEqual(DateTime CurTime, DateTime RecTime, ushort errorValue)
{
    bool res = false;
    int P_CmpRes = 0;
    int P_dayTmp = 0;
    DateTime P_TimerHead, P_TimerLast;

    P_CmpRes = DateTime.Compare(CurTime, RecTime);
    if (errorValue > 60)
        return false;

    if (errorValue == 0)
    {
        if (P_CmpRes == 0)
        {
            res = true;
        }
        else
        {
            res = false;
        }
    }
    else
    {
        if (P_CmpRes == 0)                                            // 判断哪个时间在前
        {
            res = true;
        }
        else
        {
            if (P_CmpRes > 0)
            {
                P_TimerHead = CurTime;
                P_TimerLast = RecTime;
            }
            else
            {
                P_TimerHead = RecTime;
                P_TimerLast = CurTime;
            }

            // 时间不是严格相等但在误差范围内的一般情况
            if (P_TimerHead.Year == P_TimerLast.Year)                 
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值