在VB.NET中使用datediff时发生转换错误

借方

所以基本上,我遇到这个错误:错误图片链接

通常,我会接受我的代码是错误的并进行修复,但事实是它似乎在大多数时间都有效。而且我找不到个案之间的区别。为什么“ 04-09-2018”可以很好地用作日期,而“ 17-08-2019”却被当作字符串?

此代码从datagridview中的单元格获取日期,该日期使用数据库中的格式临时存储日期:

Private Sub wrty_show()
    Dim dt As Date : Dim difd As String
    dt = DataGridView1.CurrentRow.Cells(3).Value
    difd = DateDiff("d", dt, Today)
    If (difd >= 365) Then : Label11.Text = "Invalid" : Label11.ForeColor = System.Drawing.Color.Red
    ElseIf (difd < 365) Then : Label11.Text = "Valid" : Label11.ForeColor = System.Drawing.Color.Green
    End If
End Sub

这是我用来从数据库中检索日期到datagridview单元格中的查询的一部分,并显示特殊格式(以某种方式,我认为这会将Date转换为String,但我不确定100%,因为我没有太多处理日期的经验):

DATE_FORMAT(w.wrty_date , '%d-%m-%Y') AS wrty_date

我知道格式与错误有关,因为我在没有该程序的情况下测试了该程序,并且效果很好。但是格式是必需的,并且如果它是导致每个项最终出现错误的主要原因,而不仅仅是其中一些。我当然想出了一些解决方法,但是我想知道为什么该错误不是确定性的,有时会出现,并且由于这是我的第一个问题,因此我不了解很多规则,因此对任何不适当的内容表示歉意或缺乏适当的信息。如果我缺少什么,请告诉我,我会更新信息。

钱德拉

为什么“ 04-09-2018”可以很好地用作日期,而“ 17-08-2019”却被当作字符串?

由于当前线程区域性的日期格式运行为“ mm-dd-yyyy”,因此当您尝试分配“ 04-09-2018”时,系统能够在2018年4月9日进行转换,但是当您尝试分配“ 17-08-2019“系统无法将其转换为日期。

试试下面的代码

   Private Sub wrty_show()
      Dim dt As Date : Dim difd As String
      dt = DateTime.ParseExact(DataGridView1.CurrentRow.Cells(3).Value, "dd-MM-yyyy", CultureInfo.InvariantCulture) 
      difd = DateDiff("d", dt, Today)
      If (difd >= 365) Then : Label11.Text = "Invalid" : Label11.ForeColor = 
         System.Drawing.Color.Red
      ElseIf (difd < 365) Then : Label11.Text = "Valid" : Label11.ForeColor = 
         System.Drawing.Color.Green
      End If
   End Sub

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Visual Studio 2012中使用newton.jsoft(json.net)将c#转换为vb .net时发生翻译错误

来自分类Dev

将VB.Net代码转换为C#时发生逻辑错误

来自分类Dev

委托从VB6到vb.net的错误转换

来自分类Dev

在VB中使用.innertext时出现Xpath错误

来自分类Dev

试图将 VB 代码转换为 C# 但发生错误

来自分类Dev

尝试获取所有可写目录vb.net时发生权限错误

来自分类Dev

在VB中使用isNumeric()时出错

来自分类Dev

在VB.NET中使用系统表

来自分类Dev

在VB.NET中使用DataURL

来自分类Dev

在Javascript中使用vb.net代码

来自分类Dev

在vb.net中使用ANSI代码

来自分类Dev

在VB ASP.NET中使用HighCharts

来自分类Dev

在vb.net中使用RegEx

来自分类Dev

在VB.NET中使用字节

来自分类Dev

在vb.net中使用MATLAB函数

来自分类Dev

在vb.net中使用Excel

来自分类Dev

在vb.net中使用ANSI代码

来自分类Dev

在VB.NET中使用Linq

来自分类Dev

在Vb.net中使用Order By排序

来自分类Dev

VB NET转换日期格式

来自分类Dev

MySQL使用VB.net插入错误

来自分类Dev

MySQL使用VB.net插入错误

来自分类Dev

VB.NET声明错误

来自分类Dev

VB .NET中的错误总数

来自分类Dev

在VB.NET中将Byte转换为Char时出现语法错误

来自分类Dev

VB.NET和VB之间的区别

来自分类Dev

从VB6到VB.NET的转换按钮样式

来自分类Dev

在VB.NET中使用LINQ将DataTable转换为字典

来自分类Dev

VB。NET:发生System.NullReferenceException