例如:
Dim testdate As String = "29/10/2010"
testdate = Convert.ToDateTime(testdate.ToString)
Response.Write(testdate)
期待“29/10/2010 00:00:00”我得到的是“29/10/2010”
答案 0 :(得分:3)
您必须将Convert.ToDateTime的结果分配给DateTime对象,而不是字符串。
Dim testdate As String = "29/10/2010"
Dim date As DateTime = Convert.ToDateTime(testdate)
Response.Write(date)
这将打印时钟以及机器默认格式的日期。
答案 1 :(得分:1)
最大的问题是,正如其他帖子中所提到的,您隐式将Convert操作的DateTime结果分配给字符串变量。这甚至都不会通过C#中的编译器,所以你进入了VB如何对这些隐式赋值进行操作的领域,你可能不希望在那里,因为如果语言规范的某些部分在新的Framework版本中发生了变化而你尝试迁移你的代码,你可能有一个讨厌的bug试图找到(可能在这里不重要,但在其他情况下,是的)。最好的方法是重写代码块以将转换操作分配给DateTime对象,但更简单的解决方案是在Convert.ToDateTime(testdate)行的末尾抛出.ToString()(即testdate = Convert。 DateTime(testdate).ToString(),它将使testdate的日期和时间戳格式化为当前文化(因为您现在正在执行DateTime和目标字符串之间的显式转换)。
答案 2 :(得分:0)
如明确记录here,不,这不是设计行为 '05 / 01/1996'转换为5/1/1996 12:00:00 AM '2009年4月28日星期二'转换为4/28/2009凌晨00:00:00。
this article可能会提供见解。