如何将当前年份添加到给定的日期和月份

时间:2017-11-24 07:08:14

标签: c# datetime

我有一个日期作为输入格式 - "Nov 24 - Nov 25"。 我需要将日期拆分如下。

FromDate - '24-NOV-2017'
ToDate   - '25-NOV-2017'

我无法理解如何追加当前年份。 任何帮助表示赞赏。

3 个答案:

答案 0 :(得分:2)

Split然后ParseExact

string source = "Nov 24 - Nov 25";

DateTime[] dates = source
  .Split('-')
  .Select(item => DateTime.ParseExact(
     item.Trim(), 
    "MMM d", // Month (abbreviated), day; the year is current
     CultureInfo.GetCultureInfo("en-US")))
  .ToArray(); 

DateTime fromDate = dates[0];
DateTime toDate = dates[1]; 

Console.WriteLine($"FromDate - '{fromDate:dd'-'MMM'-'yyyy}' ToDate - '{toDate:dd'-'MMM'-'yyyy}'");

结果:

  FromDate - '24-Nov-2017' ToDate - '25-Nov-2017'

答案 1 :(得分:0)

尝试使用以下代码:

FromDate.ToString("dd , MMMM , yyyy")

答案 2 :(得分:0)

您可以制作一个简单的方法:

public string[] myDate(string date, string year)
    {
        string date1 = date.Split('-')[0];
        string date2 = date.Split('-')[1];
        string[] dateSplit1 = date1.Split();
        string[] dateSplit2 = date2.Split();
        return new string[] { dateSplit1[1] + "-" + dateSplit1[0].ToUpper() + "-" + year, dateSplit2[2] + "-" + dateSplit2[1].ToUpper() + "-" + year };
    }

您案例中输入的方法是:

string[] Dates = myDate("Nov 24 - Nov 25","2017")

该方法返回一个包含所需日期的字符串数组:

日期[0]包含“24-NOV-2017”,日期[1]包含“25-NOV-2017”