向DateTime变量添加月份

时间:2019-02-12 17:56:42

标签: c# .net

我有一个datetime变量,值为12-02-2019(2019年2月12日)-这就是我想要的。但是在我的代码中,它是MM-dd-yyyy格式。它以MM-dd-yyyy格式保存到db(2019年12月2日)。当我从Datebase退回它时,它将类似于02-12-2019(2019年12月2日)。

  int salesid = (int)dr["SalesID"]; // dr is the datarow
  DateTime salesdate = (DateTime)dr["SalesDate"]; // 02-12-2019 (2nd Dec)

我想在2019年2月12日(2月12日)之前增加4个月的时间。但是运行时间将4个月添加到2019年12月2日(12月2日),我将获得02-04-2020 !!!

  DateTime servicedate = salesdate.AddMonths(4); // 2020-12-02

这是错误的。我想将销售日期指定为2019年2月12日,并且ii在将销售日期增加4个月后应该会在2019年6月12日发布。

这在c#中怎么可能?

2 个答案:

答案 0 :(得分:0)

保存到数据库时,请确保指定了数据库无法混淆的更详细的格式。例如,如果您使用myDateTime.Format("dd MMM yyyy");向数据库提供写操作,那么它将不会混淆月份和日期。

这将确保代码和数据库中的格式都保持对齐。

答案 1 :(得分:0)

问题出在您的INSERT语句中。当您应该按原样将options = { legend: { display: true, onClick: (e, item) => {console.log("Click Legend")} }, events: ['click', 'mousemove'], onClick: (e, data) => { console.log("Click Chart") } } 传递给数据库API时,而不是使用DateTime,如果您想进行简单的修复,请不要在{{1}上调用ToString() },请使用其他重载,让您明确指定区域性和/或格式,例如ToString(string, IFormatProvider)