如何避免在vb.net中更改日期

时间:2012-01-03 04:25:31

标签: vb.net

我想问一下如何在CONSOLE vb.net中编写日期时间。我已经得到了格式但我的问题是在我今天向数据库输入另一个数据之后。

enter image description here

在此图片中,我的数据检索错误。 ID(1,2,3,4,5,6)应该是1月2日。不幸的是,在我将新数据添加到数据库之后,今天的输出。我对如何编码以避免更改日期感到困惑。

这是我的代码:

   Dim datetoday As DateTime = DateTime.Now
   Dim dateyesterday As DateTime = DateTime.Today
   Dim format As String = "yyyy d MMM"
   Sub Main()
    s = New Sessions
    ds = s.GetSession("select CLIENTID, SESSIONCOST from SESSIONS ORDER BY CLIENTID ASC")
    Dim startVal = 0
    Dim endVal = ds.Tables(0).Rows.Count

    For var = startVal To endVal - 1
        Console.WriteLine(ds.Tables(0).Rows(var)("CLIENTID").ToString() + " " + ds.Tables(0).Rows(var)("SESSIONCOST").ToString() + " " + datetoday.ToString(format))  'code for display id and name
    Next

我希望你的反馈。示例代码足以理解。谢谢

2 个答案:

答案 0 :(得分:1)

让原始帖子中的代码更好 - 但是你真的读过你写过的内容吗?

Dim datetoday As DateTime = DateTime.Now
Dim dateyesterday As DateTime = DateTime.Today

这两者几乎是一回事。如果你想要昨天,你需要从Now

中减去一天
Console.WriteLine(ds.Tables(0).Rows(var)("CLIENTID").ToString() + " " + ds.Tables(0).Rows(var)("SESSIONCOST").ToString() + " " + datetoday.ToString(format))  'code for display id and name

此外 - 您似乎没有在数据库中检索(甚至存储?)日期。如果您只是打印出DateTime.Now的结果,那么每行旁边打印的日期将始终是当前日期,而不一定是在创建对象时。

答案 1 :(得分:0)

尝试在您的应用和数据存储区中使用UTC日期(DateTime.UtcNow)。仅在向用户显示时使用时区调整日期对其进行格式化。