C# 将日期格式2018年5月1日和2018年5月1日转换为(dd/mm/yyyy)格式,并使用c将相同格式保存到excel中

C# 将日期格式2018年5月1日和2018年5月1日转换为(dd/mm/yyyy)格式,并使用c将相同格式保存到excel中,c#,C#,我有两种日期格式,如2018年5月1日和2018年5月1日。我想将这两种格式转换为dd/MM/yyyy,如何将其转换并保存到excel文件中。我在将数据保存到excel中时遇到问题,保存格式不正确,它的变化就像一个月优先,有时日期优先 代码是:- mystring=mystring.tostring.parsedd/MM/yyyy使用时可以提供多种格式。因此,您可以将初始字符串解析为DateTime,然后将DateTime格式化为所需格式 string[] tests = new strin

我有两种日期格式,如2018年5月1日和2018年5月1日。我想将这两种格式转换为dd/MM/yyyy,如何将其转换并保存到excel文件中。我在将数据保存到excel中时遇到问题,保存格式不正确,它的变化就像一个月优先,有时日期优先 代码是:- mystring=mystring.tostring.parsedd/MM/yyyy

使用时可以提供多种格式。因此,您可以将初始字符串解析为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     

我相信你必须做到:

targetRange.NumberFormat = "dd/MM/yyyy";
其中,targetRange是要采用所需日期格式的单元格或列


格式也必须是Excel能够理解的,这与C使用的格式并不总是一样的

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

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

Excel也有日期格式设置,你也考虑过吗?你能提供一些代码吗?到目前为止你都试了些什么?是的,我也试过,但我不懂answer@BagishOjha让我们弄清楚,您已经成功地将日期字符串转换为正确的格式,对吗?但所有的问题都是excel格式不对?我不想使用parseexactmethod@BagishOjha为什么不精确解析?我可以在excel或我的assign Strings中使用它?您可以在代码中设置excel电子表格中的值的任何位置放置这一行。通常在设置值后设置格式,以确保Excel不会更改格式。如果您提供一个工作示例,我们可以建议更准确的潜在解决方案这不会编译…不能真正将字符串设置为日期时间object@JayV根据您的评论进行编辑。谢谢