如何将像'20 / 11/2013'这样的日期 - 字符串转换为此格式 2013-11-20 00:00:00.000在c#中使用 DateTime.ParseExact或任何其他函数。
答案 0 :(得分:2)
使用DateTime.ParseExact,您可以按照以下说明进行操作:
var stringToConvert = "20/11/2013";
var convertedDate = DateTime.ParseExact(stringToConvert, "dd/MM/yyyy", CultureInfo.InvariantCulture);
// dd : date
// MM : minute
// yyyy : year
// hh : hour
// mm : minute
// ss : second
var dateFormatMMddYYYY = convertedDate.ToString("MM-dd-yyyy");
var dateFormatddMMYYYY = convertedDate.ToString("dd-MM-yyyy");
var dateFormatyyyyMMdd = convertedDate.ToString("yyyy-MM-dd");
注意:在转换为datetime之前,请确保您的字符串能够转换为日期时间。
您可以使用 Datetime.TryParse 功能。
答案 1 :(得分:0)
string originalShortDateTime = "20/11/2013";
string inputFormat = "dd/MM/yyyy";
DateTime result = DateTime.ParseExact(originalShortDateTime,
inputFormat, CultureInfo.InvariantCulture); //or a specific culture
然后我们将使用带有参数的DateTime.ToString()
输出首选格式:
string outputDateString = result.ToString("yyyy-MM-dd hh:mm:ss.fff");
答案 2 :(得分:0)
您可以使用 DateTime.TryParse(...)方法。
var dtString = "01/01/2000 01:00:00 AM";
DateTime dt;
var converted = DateTime.TryParse(dtString, out dt);
if (converted) {
// Converted okay.
var newFormat = dt.ToString("yyyy/MM/dd hh:mm:ss");
// Outputs: 2001/01/01 01:00:00
} else {
// Failed to convert.
}
这很方便,因为它可以让你检查指定的DateTime字符串是否正常转换。