可以使用 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;
}