string final = Convert.ToString(DateTime.Parse(date, System.Globalization.CultureInfo.InvariantCulture) + TimeSpan.Parse(duration));
您好,我使用上面的代码将两个日期相加。它在 Windows 上运行良好,并以正确的方式返回所需格式 yyyy-MM-dd HH:mm:ss
。但是,在使用 Mono 构建 Linux 时,它返回以下格式 dd/MM/yyyy HH:mm:ss
这不是我想要的。
如何指定我只需要第一个格式而不需要其他格式?我尝试使用 ParseExact,但效果不是很好。据我所知,ParseExact 真的不需要吗?
这是一个输入示例:
string date = "2014-10-30 10:00:04"; // On windows
string duration = "05:02:10"; // duration to be added to date
问候。
最佳答案
使用ToString("yyyy-MM-dd HH:mm:ss")
而不是 Convert.ToString
.
string date = "2014-10-30 10:00:04";
string duration = "05:02:10";
DateTime dt1 = DateTime.Parse(date, CultureInfo.InvariantCulture);
TimeSpan ts = TimeSpan.Parse(duration, CultureInfo.InvariantCulture);
DateTime dtFinal = dt1.Add(ts);
string final = dtFinal.ToString("yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture);
Convert.ToString
使用你当前文化的日期分隔符,使用 CultureInfo.InvariantCulture
.
关于c# - 将两个日期相加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26649175/