将日期格式的字符串转换为另一种日期格式的字符串

时间:2016-12-01 13:25:41

标签: c#

我想将一串日期格式转换为另一种格式的字符串。

字符串DateOfBirth可以采用不同的格式,例如:

  • 2017年1月15日
  • 2017年1月15日
  • 2017年1月15日
  • 2017年1月5日

我想将它转换为另一种模式,我将其作为参数。

public string ConvertStringDateFormat(string date, string convertToDateFormat)
{
}

我们假设date =" 01/15/2017"和convertToDateFormat =" YYYY / MM / DD"。我怎么能把它改成新格式?

对我来说,问题在于它是通用的,因此它会接受任何参数。

我认为我可以将日期转换为DateTime,然后使用格式的ToString但是你能提供更好的想法吗?

3 个答案:

答案 0 :(得分:4)

解析为DateTime,然后返回String

public string ConvertStringDateFormat(string date, string convertToDateFormat) {
  return DateTime
    .ParseExact(date,
       new string[] { "M/d/yyyy", "M-d-yyyy", "M.d.yyyy" },
       CultureInfo.InvariantCulture, 
       DateTimeStyles.AssumeLocal)
    .ToString(convertToDateFormat); // convertToDateFormat = @"yyyy\/MM\/dd" for YYYY/MM/DD
}

答案 1 :(得分:2)

我认为这会奏效:

   (Convert.ToDateTime(date)).ToString(convertToDateFormat)

答案 2 :(得分:1)

试试这个

public string ConvertStringDateFormat(string date, string convertToDateFormat)
{
    return Convert.ToString(Convert.ToDateTime(date),convertToDateFormat);
}