[C#] 巧用ToString 比较时间。

2023-11-02 17:21:56 浏览数 (3)

可以使用 DateTime 类型的 ToString 方法将时间转换为字符串,然后比较字符串是否相等来判断时间的各个部分是否发生了变化。

代码如下:

代码语言:javascript复制
  /// <summary>
  /// 判断是否发生了秒级事件。
  /// </summary>
  /// <param name="pre">上一个时间。</param>
  /// <param name="now">当前时间。</param>
  /// <returns>是否发生了秒级事件。</returns>
  public static bool IsSecondsHappen(DateTime pre, DateTime now)
  {
    string preString = pre.ToString("yyyyMMddHHmmss");
    string nowString = now.ToString("yyyyMMddHHmmss");
    return preString != nowString;
  }

  /// <summary>
  /// 判断是否发生了分钟级事件。
  /// </summary>
  /// <param name="pre">上一个时间。</param>
  /// <param name="now">当前时间。</param>
  /// <returns>是否发生了分钟级事件。</returns>
  public static bool IsMinuteHappen(DateTime pre, DateTime now)
  {
    string preString = pre.ToString("yyyyMMddHHmm");
    string nowString = now.ToString("yyyyMMddHHmm");
    return preString != nowString;
  }

  /// <summary>
  /// 判断是否发生了小时级事件。
  /// </summary>
  /// <param name="pre">上一个时间。</param>
  /// <param name="now">当前时间。</param>
  /// <returns>是否发生了小时级事件。</returns>
  public static bool IsHourHappen(DateTime pre, DateTime now)
  {
    string preString = pre.ToString("yyyyMMddHH");
    string nowString = now.ToString("yyyyMMddHH");
    return preString != nowString;
  }

  /// <summary>
  /// 判断是否发生了天级事件。
  /// </summary>
  /// <param name="pre">上一个时间。</param>
  /// <param name="now">当前时间。</param>
  /// <returns>是否发生了天级事件。</returns>
  public static bool IsDayHappen(DateTime pre, DateTime now)
  {
    string preString = pre.ToString("yyyyMMdd");
    string nowString = now.ToString("yyyyMMdd");
    return preString != nowString;
  }

1 人点赞