0

我的字符串包含值:08/20/2012-10.32.19

我希望字符串数据类型本身的输出为08/20/2012 10:32:19[格式为MM/dd/yyyy HH:mm:ss]。

请帮忙!!

4

3 回答 3

8

您可以将字符串转换为DateTime然后使用.ToString()所需的格式。

DateTime dt = DateTime.ParseExact("08/20/2012-10.32.19", "M/d/yyyy-HH.mm.ss",CultureInfo.InvariantCulture);
string test = dt.ToString("MM/dd/yyyy HH:mm:ss");

测试会有

08/20/2012 10:32:19

编辑: 基于评论

您可以指定多种日期格式,然后进行相应的解析。

string[] formats = new string[] { "M/d/yyyy-HH.mm.ss", "yyyy-M-d-HH.mm.ss" };
string dtTest1 = DateTime.ParseExact("08/20/2012-10.32.19",
                                     formats, 
                                     CultureInfo.InvariantCulture, 
                                     DateTimeStyles.None)
                                     .ToString("MM/dd/yyyy HH:mm:ss");

或者在一行中

string dtTest2 = DateTime.ParseExact("08/20/2012-10.32.19",
                                     new string[] { "M/d/yyyy-HH.mm.ss", "yyyy-M-d-HH.mm.ss" }, 
                                     CultureInfo.InvariantCulture, 
                                     DateTimeStyles.None)
                                     .ToString("MM/dd/yyyy HH:mm:ss");

这将满足您的两种日期情况:

08/20/2012-10.32.19
2012-08-20-10.32.19
于 2012-08-29T05:12:48.827 回答
1

您可以使用非常简单的字符串,因为您的字符串只需要格式化

String a="08/20/2012-10.32.19".Replace('-', ' ').Replace('.', ':');

我希望这对你有用

于 2012-08-29T05:34:15.580 回答
0

我们有各种内置格式ToLongDateTime,如ToShortdateTime.Net

string formatDate = txtdte.ToShortDateTime();

这将返回字符串,因此不需要任何其他转换。如果您对格式有特定的要求,则 ToString 采用类似的参数ToString("dd/mm/yyyy")

于 2012-08-29T05:42:40.943 回答