【问题标题】:How to convert string date (25.04.2016) to date format (mm/dd/yyyy)?如何将字符串日期(25.04.2016)转换为日期格式(mm/dd/yyyy)?
【发布时间】:2016-09-03 21:53:26
【问题描述】:

我有字符串日期 (25.05.2016),我想在 VB.net 中将其转换为 (mm/dd/yyyy) 格式。 请提出解决方案。

【问题讨论】:

  • 如果您需要存储时区会发生什么.. 那就不可能了。使用 UTC 格式或 ISO8061 日期格式。
  • 另外,“请提出解决方案” .. 我们不是无用的代码商店,您显然还没有了解研究需要什么,即阅读非常广泛的 MSDN 文档。非常糟糕的问题,散发着懒惰的味道。

标签: .net vb.net date parsing format


【解决方案1】:

使用ParseExact 将字符串转换为日期变量所需的格式,然后使用.ToString 转换为另一种格式:

Dim dateString As String = "25.05.2016"
Dim dateFormat As String = "dd.MM.yyyy"
Dim dateValue = DateTime.ParseExact(dateString, dateFormat, CultureInfo.InvariantCulture)

Debug.WriteLine(dateValue.ToString("MM/dd/yyyy"))

自定义日期时间格式列表can be found here

【讨论】:

    【解决方案2】:

    这就是问题所在。由于您没有时间,而且您知道您可以直接从 DD.MM.YYYY 转换为 MM.DD.YYYY,因此您甚至可以“机械地”进行转换

    Dim converted As string = String.format("{1}/{0}/{2}", "25.05.2016".Split(".".ToCharArray())) 
    

    很有趣,不是吗?

    【讨论】:

      【解决方案3】:

      VB.Net 有 DateTime 类,您可以使用它使用 Convert.ToDateTime(String)、DateTime.Parse() 和 DateTime.ParseExact() 等方法将基于字符串的日期转换为 System.DateTime 对象.

      示例如下图:

      Dim inDate As String = "25.05.2016"
      
      Dim outDate As DateTime = Convert.ToDateTime(inDate)
      
      MsgBox(oDate.Month & "/" & oDate.Day & "/" & oDate.Year)
      

      【讨论】:

      • OP 要求表格 mm/dd/yyyy,您的日期和月份是相反的。
      • 我正要编辑它..现在看看,并删除downvote
      • Convert.ToDateTime 不是所有语言环境的安全转换,并且您的输出不会总是按照要求提供 2 位数的日期或月份
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-19
      • 2016-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多