如何使用mysql和c#比较时间和日期

Posted

技术标签:

【中文标题】如何使用mysql和c#比较时间和日期【英文标题】:how to compare the time and date using mysql and c# 【发布时间】:2011-12-13 23:08:38 【问题描述】:

我有一张桌子logout 有列

logout_id
logout_datetime  values format like this(2011-09-08 11:09:09)

我还想将 logout_datetime 与今天的日期和时间进行比较....

因为我已经这样做了......

string dtStartString = DateTime.Today.ToString("yyyy-MM-dd");
string timeonly = DateTime.Now.ToShortTimeString();

string sql = @"select logout_id"; 
sql+= string.Format("where logout_datetime = '0'",dtStartString );

但它只会比较 logoutdatetime 中的日期,它错了我也想比较时间

我该怎么做..

有人可以帮忙吗...

【问题讨论】:

【参考方案1】:

当然,您的代码只是比较日期,因为您只传递了dtStartString,而这有时间部分。

尝试通过这个:

string dtStartString = DateTime.Now.ToString("yyyy-MM-dd  HH:mm:ss");

【讨论】:

它在 dd 和 HH 之间缩进了 2 个空格而不是 1?【参考方案2】:

使用Parameters

string sql = "select logout_id from TableName 
                  where logout_datetime=@logout_datetime";
...
cmd.Parameters.Add("@logout_datetime",mysql.Data.MySqlClient.MySqlDbType.Datetime)
                   .Value=DateTime.Now; // you may assign any value of DateTime  type.

【讨论】:

【参考方案3】:

您可以使用date-format 或extract 函数。

你应该阅读更多关于date time functions的信息

【讨论】:

以上是关于如何使用mysql和c#比较时间和日期的主要内容,如果未能解决你的问题,请参考以下文章

C#比较日期时间和当前日期时间[关闭]

如何使用 C# 在列有日期的情况下将多行插入 MySql?

如何在 C# 应用程序范围内更改仅日期部分将用于日期时间比较

Nullable-如何在 C# 中的 DateTime 类型中仅比较没有时间的日期?

如何将 2 个表与日期进行比较并检查缺少哪个日期并使用 Mysql 插入日期?

如何使用mysql计算两个日期之间的时间差