我有两种类型的日期格式,如01/05/2018和01 / may / 2018。我想将两种格式转换为(dd / MM / yyyy),如何将其转换并保存到excel文件中。我将数据保存到excel有一个问题,保存不正确的格式,它的变化就像一个月来的第一个,有时日期是第一个 代码是: - 了mystring = mystring.tostring.parse( “DD / MM / YYYY”)
答案 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
是您希望拥有所需日期格式的Cell
或Column
格式也必须是Excel理解的内容,并且这与C#使用的内容并不总是相同
答案 2 :(得分:0)
我有类似的问题,我尝试了下面的代码
DateTime date = DateTime.Now;
string formattedDate = date.ToString("dd'/'MM'/'yyyy");