我正在传递字符串"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#中完成,对此的任何帮助都将非常感激。
答案 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);
请注意解析中的单个d
,M
,h
,m
和s
,因为它可用于单个和两个数字值。
答案 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)