首页 > 解决方案 > 检查 SQL Server 日期时间列字符串 C# 是否已过去 1 小时

问题描述

我正在尝试检查Datetime我在 SQL Server 数据库中的字符串是否经过了 1 小时。我尝试了这段代码,但它没有用,或者我没有正确理解它。

我想要做的是获取列 Datetime 值并检查是否从TimeDate.Now.

这是我的代码:

using (var GetLastPost = new SqlCommand("SELECT PostDate FROM Accs2 WHERE Username LIKE @user1", con))
{
    GetLastPost.Parameters.AddWithValue("@user1", ecid);

    using (var LastReader = await GetLastPost.ExecuteReaderAsync())
    {
        if (!LastReader.HasRows || !LastReader.Read())
        {
        }
        else
        {
            DateTime k = Convert.ToDateTime(LastReader["PostDate"].ToString());

            if (k > DateTime.Now)
            {
                MessageBox.Show("Your Money is in the Box");
            }
            else
            {
                MessageBox.Show("1 Hour Not Passed yet");
                con.Close();
            }
        }
    }
}

标签: c#sql-server

解决方案


一个简单的方法是这样的

public bool HasAnHourPassed(DateTime compareTime)
{
    var timePassed = DateTime.Now - compareTime;
    return timePassed.TotalHours > 1;
}

推荐阅读