【问题标题】:Compare 2 dates in string format in asp.net c#在asp.net c#中以字符串格式比较2个日期
【发布时间】:2020-04-23 18:44:12
【问题描述】:

我尝试以字符串格式比较这两个日期,但无法解决 {

       SqlCommand cmd =new SqlCommand($"SELECT Last_Login_Date FROM [dbo].[Member] WHERE EmailAddress='{emailAddress}');") ;
        SqlDataReader reader = cmd.ExecuteReader();
        string lld = reader["Last_Login_Date"].ToString();
        string currentDate = DateTime.Now.ToString();if (DateTime.Parse(lld,currentDate))

}

【问题讨论】:

  • 这个和php标签有关系吗?
  • compare these 2 dates in string format 是什么意思?将它们转换为 DateTime 并比较它们有什么问题?
  • 没有。我正在使用 c# asp.net。我从 sql server 检索以获取 last_login_date 以与 current_date 进行比较。这两个日期都是字符串格式,所以我不知道如何进行比较
  • 我尝试使用 DateTime.Compare(currentdate,last_login_date) 并弹出此错误(无法从 'string' 转换为 'System.DateTime')

标签: c# mysql sql asp.net


【解决方案1】:

确保 Last_Login_Date 的数据类型是日期时间或日期。

我将使用GetDateTime 来获取价值。

SQL 服务器 SqlDataReader.GetDateTime

MySQLMySqlDataReader.GetDateTime

喜欢这个reader.GetDateTime(reader.GetOrdinal("ColumnName"));

所以你将把你的string lld改为DateTime lld

例如:DateTime lld = reader.GetDateTime(reader.GetOrdinal("ColumnName"));

然后比较两个变量DateTime.Compare(currentDate,lld)

希望对您有所帮助!

【讨论】:

    【解决方案2】:

    您不能对字符串使用日期函数。从 datareader 读取日期并添加您的比较逻辑。

    using (var conn = new SqlConnection(connectionString))
    using (var cmd = new SqlCommand($"SELECT Last_Login_Date FROM [dbo].[Member] WHERE EmailAddress='{emailAddress}';"))
    {
        DateTime lastlogindate;
        cmd.Connection = conn;
        conn.Open();
        SqlDataReader reader = cmd.ExecuteReader();
        if (reader.Read())
        {
            lastlogindate = reader.GetDateTime("Last_Login_Date");
            //add your comparision logic here        
            Console.WriteLine(DateTime.Compare(lastlogindate, DateTime.Now)); //result -1    
        }
    }
    

    【讨论】:

    • 我试了你的代码,弹出这个错误 ExecuteReader: Connection property has not been initialized.
    • @HowToGame,您需要将连接设置为SqlCommand。我已更改代码以包含连接
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-10
    • 1970-01-01
    相关资源
    最近更新 更多