我的字符串包含值:08/20/2012-10.32.19
我希望字符串数据类型本身的输出为08/20/2012 10:32:19
[格式为MM/dd/yyyy HH:mm:ss
]。
请帮忙!!
您可以将字符串转换为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
您可以使用非常简单的字符串,因为您的字符串只需要格式化
String a="08/20/2012-10.32.19".Replace('-', ' ').Replace('.', ':');
我希望这对你有用
我们有各种内置格式ToLongDateTime
,如ToShortdateTime
.Net
string formatDate = txtdte.ToShortDateTime();
这将返回字符串,因此不需要任何其他转换。如果您对格式有特定的要求,则 ToString 采用类似的参数ToString("dd/mm/yyyy")