我有一个字符串:
string s = "1/09/2017 12:00:00 AM";
我要显示的输出是 1/09/17 (基本上是短日期)。
如果
string s ="30/09/2017 12:00:00 AM"
我要显示的输出是 30/09/17 (基本上是短日期)。
我试过的是:
string[] values = s.Split('/');
string a = values[0]+"/"+values[1]+"/"+values[2].
我很困惑如何让第3部分需要帮助。
答案 0 :(得分:6)
使用.NET内置的DateTime解析。
例如:
string s = "1/09/2017 12:00:00 AM";
string format = "d/MM/yyyy hh:mm:ss tt";
DateTime parsedDateTime = DateTime.ParseExact(s, format, null);
string output = parsedDateTime.ToString("d/MM/yy"); //output = 1/09/17
更多信息:
答案 1 :(得分:0)
我的建议是使用内置日期数据类型。 如果这不符合您的要求,那么我建议您根据分隔符"分割字符串。 "(空格)。然后选择第一部分并继续您的代码。
答案 2 :(得分:0)
您可以使用像这样的子字符串
string s = "30/09/2017 12:00:00 AM";
string[] values = s.Split('/');
string a = values[0] + "/" + values[1] + "/" + values[2].Substring(2,2);
答案 3 :(得分:0)
DateTime date = DateTime.ParseExact("1/09/2017 12:00:00 AM", "d/MM/yyyy hh:mm:ss tt", null);
Console.WriteLine(date.ToString("d/MM/yy"));
将您的日期字符串转换为DateTime
,然后使用参数ToString
的{{1}}重载方法方法,请找到Fiddle
答案 4 :(得分:0)
添加到Paolo的anwer
string s = "1/09/2017 12:00:00 AM";
string format = "d/MM/yyyy hh:mm:ss tt";
DateTime parsedDateTime = DateTime.ParseExact(s, format, null);
string output = parsedDateTime.ToString("d/MM/yy");
string ss = output.Replace("-","/");
Console.Write(ss); //output is 1/09/17
这将完全返回确切的预期输出