相互添加两个日期
本文关键字:两个 日期 添加 | 更新日期: 2023-09-27 18:28:20
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
。
读取:自定义日期和时间格式字符串
您可以使用 DateTime 对象的 ToString(( 方法。
var dt = DateTime.Now;
dt.ToString("yyyy-MM-dd HH:mm");
使用您的代码:
string _final = (DateTime.Parse(date, System.Globalization.CultureInfo.InvariantCulture) + TimeSpan.Parse(duration)).ToString("yyyy-MM-dd HH:mm:ss");