• .Net之日期比较


    由于在SQL服务器中,可以直接使用日期格式的字符串相互转化可以比较日期,然而在.NET可否直接进行日期比较呢?答案当然是肯定有的。

    见下面代码

    strStartDate = this.dtpStartDate.Value.ToString("yyyy-MM-dd");
    strEndDate
    = this.dtpEndDate.Value.ToString("yyyy-MM-dd");
    //判断起始日期是否大于终止日期
    if (string.CompareOrdinal(strStartDate, strEndDate) > 0)
    {
    MessageBox.Show(
    "终止日期必须[大于]起始日期!","错误提示!",MessageBoxButtons.OK,MessageBoxIcon.Error);
    this.dtpEndDate.Focus();
    return;
    }

    当然主要是把日期数据类型的转换成字符串格进行比较,因为字符串比较主要也是转换成单个字符的比较,当然,这里使用到了string自带的一个比较方法CompareOrdinal()去比较,关于此方法的.NET描述见下,此方法有2个重载函数:

    //
    // 摘要:
    // 通过计算每个字符串中相应 System.Char 对象的数值来比较两个指定的 System.String 对象。
    //
    // 参数:
    // strA:
    // 第一个 System.String。
    //
    // strB:
    // 第二个 System.String。
    //
    // 返回结果:
    // 一个整数,指示两个比较数之间的词法关系。 值 条件 小于零 strA 小于 strB。 零 strA 和 strB 相等。 大于零 strA 大于
    // strB。
    public static int CompareOrdinal(string strA, string strB);
    //
    // 摘要:
    // 通过计算两个指定的 System.String 对象的每个子字符串中相应 System.Char 对象的数值比较子字符串。
    //
    // 参数:
    // strA:
    // 第一个 System.String。
    //
    // indexA:
    // strA 中子字符串的起始索引。
    //
    // strB:
    // 第二个 System.String。
    //
    // indexB:
    // strB 中子字符串的起始索引。
    //
    // length:
    // 要比较的子字符串中字符的最大数量。
    //
    // 返回结果:
    // 一个 32 位有符号整数,指示两个比较数之间的词法关系。 值 条件 小于零 strA 中的子字符串小于 strB 中的子字符串。 零 子字符串相等,或者
    // length 为零。 大于零 strA 中的子字符串大于 strB 中的子字符串。
    //
    // 异常:
    // System.ArgumentOutOfRangeException:
    // indexA 大于 strA。System.String.Length. - 或 - indexB 大于 strB。System.String.Length.
    // - 或 - indexA、indexB 或 length 为负。
    public static int CompareOrdinal(string strA, int indexA, string strB, int indexB, int length);
  • 相关阅读:
    关于maven+springmvc+mybits搭建的框架clean,build后错误:org.apache.ibatis.binding.BindingException的处理
    mvn从下载安装到纯命令行创建第一个mvn程序(编码,编译,测试,安装,打包)全过程细致分解
    C++程序中调用bat
    E2034 Cannot convert 'wchar_t *' to 'const char *' bcb2010
    C++ calling a dll.
    如果你不是为了表现
    cdecl、stdcall、fastcall函数调用约定区别
    桌面便签
    在新的工控机上调试程序注意事项
    listview1.items.itemdata:stream read error
  • 原文地址:https://www.cnblogs.com/wanzegui325/p/DotNet_DateTimeCompare_01.html
Copyright © 2020-2023  润新知