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