如何将日期字符串从格式X转换为格式Y?

时间:2015-03-16 06:44:06

标签: c# datetime

我有一个字符串,其中包含某种格式为X的日期(例如12/31/2015)。如何将其转换为Y格式(例如2015-12-31 00:00:00)?

2 个答案:

答案 0 :(得分:3)

C#拥有自己的DateTime structure。目标是

  1. 将您的字符串转换为DateTime然后
  2. 将您的DateTime转换回字符串。

  3. 首先,您需要获取格式X和Y的格式字符串。请检查以下两个列表:

    ,对于12/31/2015,所有dMM/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);
}

工作示例:https://dotnetfiddle.net/gQ11qs