我的字符串中有一个日期格式为"2/11/2013 19:14:00"
(MM / DD / YYYY HH:MM:SS)格式,我希望将其转换为格式为11 February 2013 19:14
的字符串
我怎样才能以最有效的方式做到这一点?
答案 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);