更改字符串格式

时间:2015-07-08 15:23:53

标签: c#

我正在传递字符串"1/20/2015 8:01:25 PM",我需要删除字符串的秒部分:25,使其成为"1/20/2015 8:01 PM"。这将最终用于许多日期字符串,因此它需要适用于"11/11/2011 11:11:11 PM"之类的字符串并将其转换为"11/11/2011 11:11 PM"这一切都在C#中完成,对此的任何帮助都将非常感激。

4 个答案:

答案 0 :(得分:3)

将字符串解析为DateTime,然后.ToString()将日期解析为获得所需格式。

var myString = "1/20/2015 8:01:25 PM";
var asDate = DateTime.Parse(myString);
var resultingString = asDate.ToString("M/dd/yyyy h:mm tt");

有关日期格式字符串

,请参阅this MSDN文章

答案 1 :(得分:1)

字符串日期转换为DateTime对象,然后应用自定义格式,如:

var dateTimeObj = DateTime.ParseExact("1/20/2015 8:01:25 PM", "M/d/yyyy h:m:s tt", CultureInfo.InvariantCulture);

var output = dateTimeObj.ToString("M/d/yyyy hh:mm tt", CultureInfo.InvariantCulture);

请注意解析中的单个dMhms,因为它可用于单个和两个数字值。

答案 2 :(得分:1)

这方面的诀窍是知道你的输入字符串总是以同样的方式格式化。

如果是,你可以这样做:

string s = "1/20/2015 8:01:25 PM";
string s2 = s.Substring(0, s.Length - 6) + s.Substring(s.Length - 3);

更可靠的方法可能是使用DateTime.Parse()转换为DateTime,然后根据需要对其进行格式化。或者更好的是,将值保存在DateTime变量中,直到您需要按照自己的方式对其进行格式化。

答案 3 :(得分:0)

您可以DateTime.ParseExactDateTime.ToString使用custom format strings来执行此操作。