将日期格式01/05/2018和01 / may / 2018转换为(dd / mm / yyyy)格式,并使用c#将相同的格式保存到excel中

时间:2018-05-23 08:30:05

标签: c#

我有两种类型的日期格式,如01/05/2018和01 / may / 2018。我想将两种格式转换为(dd / MM / yyyy),如何将其转换并保存到excel文件中。我将数据保存到excel有一个问题,保存不正确的格式,它的变化就像一个月来的第一个,有时日期是第一个 代码是: - 了mystring = mystring.tostring.parse( “DD / MM / YYYY”)

3 个答案:

答案 0 :(得分:0)

使用DateTime.ParseExact时,您可以提供多个 formats。因此,您可以初始字符串解析为DateTime,然后将格式 DateTime转换为所需格式。

  string[] tests = new string[] {
    "01/05/2018",
    "01/may/2018",
  };

  string[] formats = new string[] {
    "d/M/yyyy",    // try this format first
    "d/MMMM/yyyy", // on fail try this one etc.
  };

  string[] results = tests
    .Select(item => DateTime.ParseExact(item, 
                                        formats,
                                        CultureInfo.InvariantCulture, 
                                        DateTimeStyles.AssumeLocal))
    .Select(date => date.ToString("dd'/'MM'/'yyyy")) // '/' - to preserve / 
    .ToArray();

  Console.Write(Environment.NewLine, results);

结果:

01/05/2018
01/05/2018     

答案 1 :(得分:0)

我相信你必须这样做:

targetRange.NumberFormat = "dd/MM/yyyy";

targetRange是您希望拥有所需日期格式的CellColumn

格式也必须是Excel理解的内容,并且这与C#使用的内容并不总是相同

答案 2 :(得分:0)

我有类似的问题,我尝试了下面的代码

DateTime date = DateTime.Now;
string formattedDate = date.ToString("dd'/'MM'/'yyyy");