【问题标题】:ASP.Net VB string to date based on format used in string迄今为止基于字符串中使用的格式的 ASP.Net VB 字符串
【发布时间】:2017-07-03 08:55:04
【问题描述】:
我正在使用 JavaScript 日期选择器,它会根据语言为我提供选定的日期。因此,当语言是荷兰语时,我会得到类似 21-09-2017 (dd-mm-yyyy) 的输出,而对于英语 21/09/2017。
当我想将这些字符串转换为日期 (CDate) 时,我遇到了格式问题。日 = 月或月 = 日。根据字符串中使用的格式从字符串中生成日期的最佳方法是什么?
一种解决方案是为每种特定文化编写一个函数来处理日期,但我猜 .Net 中有一个默认函数??
【问题讨论】:
标签:
asp.net
string
vb.net
date
【解决方案1】:
您可以使用 DateTime.ParseExact 来获得您想要的,如 here 所示。
您可以提供如下格式:
dateString = "15/06/2008 08:30" //Your Date time
format = "g" //General Fromat
provider = New CultureInfo("fr-FR") //French
result = Date.ParseExact(dateString, format, provider) //Parsed Result
这将导致:6/15/2008 8:30:00 AM
这或课程只有在您了解文化的情况下才有效。此外,您可能还想查看 here 找到的日期时间格式字符串。
【解决方案2】:
Convert.ToDateTime(String).ToString("dd-MM-yyyy")
或
DateTime.ParseExact(String, "dd/MM/yyyy", CultureInfo.InvariantCulture)