如何在VB.net中将日期转换为格式化字符串?

24

这里有很多问题是关于将字符串转换为日期格式的,但没有相反的情况。当我使用mydate.toString将Date对象转换为字符串时,我得到的格式是16/01/2013 13:00:00

但我真正想要的是2013-01-16 13:00:00。我没有看到Date对象上有任何可用于此的函数,所以我需要使用正则表达式或其他方法吗?

5个回答

47
您可以使用 ToString() 方法进行转换。请参考 此页面 了解更多信息。
因此,只需使用 myDate.ToString("yyyy-MM-dd HH:mm:ss") 或等效内容即可。

谢谢!我没意识到toString方法被重载了。 - DisgruntledGoat
6
一个小但重要的提示 - 使用大写字母"M"和"M"来表示月份。否则你会得到分钟而不是月份。 - Sukhi
这也可以直接与 system.datetime.now 一起使用。 - FredyWenger

11

你可以使用 format 函数来完成,这里是一个示例:

Format(mydate, "yyyy-MM-dd HH:mm:ss")

5

我喜欢:

Dim timeFormat As String = "yyyy-MM-dd HH:mm:ss"
myDate.ToString(timeFormat)

如果您需要在代码的多个部分中使用它,那么易于维护,日期格式似乎总是迟早会改变。


5
myDate.ToString("yyyy-MM-dd HH:mm:ss")

大写的 HH 表示您指定的 24 小时格式


4
Dim timeFormat As String = "yyyy-MM-dd HH:mm:ss"
objBL.date = Convert.ToDateTime(txtDate.Value).ToString(timeFormat)

Convert.ToDateTime(txtDate.value).ToString("MM/dd/yyyy") - JoshYates1980

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接