如何使用 DateTime.ParseExact 或任何其他函数在 c# 中将诸如“20/11/2013”之类的日期字符串转换为这种格式 2013-11-20 00:00:00.000。
问问题
8039 次
3 回答
3
使用 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.TryParse函数。
于 2013-11-13T12:47:42.677 回答
1
您可以使用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 字符串是否转换正常。
于 2013-11-13T12:51:09.077 回答
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()
with 参数输出首选格式:
string outputDateString = result.ToString("yyyy-MM-dd hh:mm:ss.fff");
于 2013-11-13T12:39:21.173 回答