我有一个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#中怎么可能?
答案 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)