在字符串中交换日期格式

时间:2015-01-10 13:30:47

标签: c# .net string datetime

我的字符串中有一个日期格式为"2/11/2013 19:14:00"(MM / DD / YYYY HH:MM:SS)格式,我希望将其转换为格式为11 February 2013 19:14的字符串

我怎样才能以最有效的方式做到这一点?

3 个答案:

答案 0 :(得分:6)

如果您的2/11/2013 19:14:00值为DateTime,请使用.ToString() method格式化您的DateTime;

dateTimeValue.ToString("dd MMMM yyyy HH:mm", CultureInfo.InvariantCulture);

如果您的2/11/2013 19:14:00值为string而不是DateTime,则可以先将其解析为DateTime,然后将其格式化为;

string s = "2/11/2013 19:14:00";
DateTime dt;
if(DateTime.TryParseExact(s, "M/dd/yyyy HH:mm:ss", CultureInfo.InvariantCulture,
                          DateTimeStyles.None,
                          out dt))
{
  Console.WriteLine(dt.ToString("dd MMMM yyyy HH:mm",
                                 CultureInfo.InvariantCulture));
}

这里有 demonstration

答案 1 :(得分:1)

首先将您的string转换为DateTime

DateTime dt = DateTime.ParseExact(oldString, "M/dd/yyyy HH:mm:ss",
    CultureInfo.InvariantCulture);

然后将此DateTime转换为string

string newString = dt.ToString("dd MMMM yyyy HH:mm",
    CultureInfo.InvariantCulture);

答案 2 :(得分:0)

如果输入日期实际上是string,最简单的方法是首先将其转换为DateTime

DateTime d = DateTime.ParseExact(oldDateString, "M/dd/yyyy HH:mm:ss", CultureInfo.InvariantCulture);

然后将其转换回string,已建议Soner

string newDateString = d.ToString("dd MMMM yyyy HH:mm", CultureInfo.InvariantCulture);