c# - 将两个日期相加

标签 c# datetime

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 .

阅读:Custom Date and Time Format Strings

关于c# - 将两个日期相加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26649175/

相关文章:

php - laravel 5 将日期和时间插入数据库

java - YYYY-MM-DD HH 中的时间值 :MM:SS format

php - date() 回显正确的日期和时间格式,但未将其正确存储在数据库中

javascript - 使用 javascript 和 ASP.NET 无法验证我的 ASP 文本框

c# - 仅替换字符串中出现的单个 "\n"

sql - 前 12 个月间隔和 ISO 周的平均值

ruby-on-rails - 如何在 Rails 中格式化日期时间?

c# - Azure 存储 REST 组事务 - 请求输入之一超出范围

c# - 从 SelectMethod 保存第二个结果集

C# TCP/IP 客户端发送从串行端口接收到的数据 - 建议