将ToShortDateString转换为datetime转换回datetime

时间:2013-11-13 12:34:34

标签: c# asp.net

如何将像'20 / 11/2013'这样的日期 - 字符串转换为此格式 2013-11-20 00:00:00.000在c#中使用 DateTime.ParseExact或任何其他函数。

3 个答案:

答案 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字符串是否正常转换。