假设您有一个字符串5/9/2010,并且您想重新排列它以阅读2010/5/9。你会怎么做呢?
我想通过恰好是日期的字符串对列表进行排序。虽然我可以把它变成一个日期,但我想坚持使用一个字符串,如果可能的话,因为日期时间的一部分很难消除。 (这在Unity3d应用程序的sqlite数据库中使用。) 如果这是重复,请原谅我。
答案 0 :(得分:2)
如果您可以保证字符串始终是相同的输入格式,您可以在/
上分割字符串:
string input = "5/9/2010";
string[] inputSections = input.Split('/');
string output = string.Format("{0}/{1}/{2}", inputSections[2], inputSections[0], inputSections[1]);
我的代码非常详细,您当然可以根据自己的需要进行简化。如果可以使用,我还会使用C#6的string inerpolation功能:
string input = "5/9/2010";
string[] inputSections = input.Split('/');
string output = $"{inputSections[2]}/{inputSections[1]}/{inputSections[0]}";
答案 1 :(得分:1)
我建议解析日期,因为输入日期并不完全符合您的预期格式,但实际上是一个有效的日期。这是解析的情况。
CultureInfo us = CultureInfo.GetCultureInfo("en-US");
string input = "5/9/2010";
DateTime date = DateTime.Parse(input, us);
Console.WriteLine(date.ToString("yyyy/MM/dd", us));
您可以测试here