我有一个字符串,其中包含某种格式为X的日期(例如12/31/2015
)。如何将其转换为Y格式(例如2015-12-31 00:00:00
)?
答案 0 :(得分:3)
C#拥有自己的DateTime
structure。目标是
DateTime
然后DateTime
转换回字符串。首先,您需要获取格式X和Y的格式字符串。请检查以下两个列表:
,对于12/31/2015
,所有d
或MM/dd/yyyy
(包含en-US或不变文化)或MM\/dd\/yyyy
(使用任何语言环境)都可以。对于2015-12-31 00:00:00
,它将是yyyy-MM-dd HH:mm:ss
。
对于第一步,您可以使用DateTime.ParseExact(或DateTime.TryParseExact,如果您希望在字符串格式不正确时优雅地失败,例如,
var myDateTime = DateTime.ParseExact(myInputString, "MM/dd/yyyy",
CultureInfo.InvariantCulture);
第二步,使用DateTime.ToString:
var myOutputString = myDateTime.ToString("yyyy-MM-dd HH:mm:ss",
CultureInfo.InvariantCulture);
答案 1 :(得分:1)
基于Heinzi推荐方法的简单功能:
public string ConvertDateFormat(string input, string inputFormat, string outputFormat)
{
return DateTime.ParseExact(input, inputFormat, CultureInfo.InvariantCulture)
.ToString(outputFormat,CultureInfo.InvariantCulture);
}