【问题标题】:Compare code date to sql date ASP NET将代码日期与 sql 日期 ASP NET 进行比较
【发布时间】:2017-06-13 14:38:06
【问题描述】:

当我尝试比较这个时,我得到关于转换类型日期的错误:

页面加载:

Dim DataCorrenteLoad As String = DateTime.Now.ToString("dd-MM-yyyy")
Label2.Text = DataCorrenteLoad

在 SqlDataSource 中,where 条件是 FinishDate >= Today date

我该如何解决这种情况?我应该更改格式 dd-mm-yyyy 吗?要不然是啥 ?

谢谢。

【问题讨论】:

  • 哪一行报错了?您是否在问题中包含了该行?请查看MCVE
  • 也许尝试为 Date 设置一个单独的变量,然后在单独的变量和行中转换为字符串。
  • 日期是一个日期,没有别的!你应该使用日期,而不是字符串!
  • 如果我用 Date 代替 String,标签显示:13/06/2017,并且在数据库中的日期是例如:2017-05-05
  • 您说的是日期的字符串表示,但不是日期!日期不等于它的字符串表示。

标签: sql asp.net vb.net


【解决方案1】:

看起来,您想比较日期,但您一直专注于日期的字符串表示。这不一样!

看例子:

Dim DatabaseDate As DateTime = DateTime.Today.AddDays(-5)
Dim CurrentDate As DateTime = DateTime.Today
 'case 1: compare and display date in current culture - depending on regional settings
Console.WriteLine("{0} {1} equal to {2}", DatabaseDate.ToString("d"), If(DatabaseDate=CurrentDate, "is", "is not") , CurrentDate.ToString("d"))

'case 2: change string representation of date:
'compare dates in France and German format
Dim cu1 As Globalization.CultureInfo = New Globalization.CultureInfo("Fr-fr")
Dim cu2 As Globalization.CultureInfo = New Globalization.CultureInfo("De-de")
DatabaseDate = DateTime.Today
Console.WriteLine("{0} {1} equal to {2}", DatabaseDate.ToString("d", cu1), If(DatabaseDate=CurrentDate, "is", "is not") , CurrentDate.ToString("d", cu2))

以上代码返回:

'case 1
2017-06-08 is not equal to 2017-06-13
'case 2
13/06/2017 is equal to 13.06.2017

结论:
根据操作系统区域设置,日期格式可能不同,但日期还是一样的!

如需了解更多详情,我强烈建议您阅读以下内容:
Standard Date and Time Format Strings
Custom Date and Time Format Strings
Parsing Date and Time Strings in .NET
Design and Implementation Guidelines for Web Clients
Formatting Date and Time for a Specific Culture

【讨论】:

    【解决方案2】:

    Label2.Text= System.DateTime.Now.ToString("dd-mm-yyyy");

    使用它它将起作用 System.DateTime.Now 将显示当前时间,当您使用 To strong("dd-mm-yyyy") 它会将其转换为字符串并将其设置为您在双引号下设置的格式。

    【讨论】:

    • 只是添加代码没有帮助,还要添加一些解释
    • 方法错误!
    猜你喜欢
    • 1970-01-01
    • 2017-12-31
    • 1970-01-01
    • 2020-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-03
    • 1970-01-01
    相关资源
    最近更新 更多