非常愚蠢但需要在VB.net中实现。我试图在VB.Net VS2008 .Net Framework 3.5
中做到这一点Dim str As String = "25/05/2014"
Dim dt As Date
dt = DateTime.ParseExact(str, "dd/MM/yyyy", CultureInfo.InvariantCulture)
Console.WriteLine(dt)
我的输出为
25-05-2014 00:00:00
有什么想法吗?
答案 0 :(得分:3)
这与转换无关,这没关系。当日期写入控制台时,它将被格式化(即转换为字符串),其格式恰好包括时间部分。
打印时指定所需的格式:
Console.WriteLine("{0:dd/MM/yyyy}", dt)
或
Console.WriteLine(dt.ToString("dd/MM/yyyy"))
注意:Date
结构(与DateTime
结构相同)以格式中立的方式存储日期和时间,即您无法格式化Date
结构。但是,当您将其输出给用户时,日期必须转换为人类可读的形式,即必须将其转换为字符串。每当您将一些二进制数据(数字,日期/时间等)转换为字符串时,格式将决定结果的外观。
答案 1 :(得分:0)
如果您赶时间,这是获取所需数据的简单方法:
Dim sFormatted As String = dt.Day.ToString() & "/" & dt.Month.ToString() & "/" & dt.Year.ToString()
MessageBox.Show(sFormatted)