C# 在C中未更改日期时间格式#
我正在使用MS Access数据库开发VS 2010中已经开发的桌面应用程序。该应用程序在C# 在C中未更改日期时间格式#,c#,winforms,datetime,date-formatting,C#,Winforms,Datetime,Date Formatting,我正在使用MS Access数据库开发VS 2010中已经开发的桌面应用程序。该应用程序在dd/MM/yyyy格式下运行良好。但是下面的代码使用了Convert.ToDateTime,它将dd/MM/yyyy中的datetime字符串更改为系统的格式,因此给出了错误信息 for (int i = 0; i <= (Convert.ToDateTime(dtp_Date.Text) - Convert.ToDateTime(dt.Rows[0]["Dat"].ToString())).Tot
dd/MM/yyyy
格式下运行良好。但是下面的代码使用了Convert.ToDateTime
,它将dd/MM/yyyy
中的datetime
字符串更改为系统的格式,因此给出了错误信息
for (int i = 0; i <= (Convert.ToDateTime(dtp_Date.Text) - Convert.ToDateTime(dt.Rows[0]["Dat"].ToString())).TotalDays; i++)
{
double dtSale = _objCashInHand.getSaleSum(Convert.ToDateTime(dt.Rows[0]["Dat"].ToString()).AddDays(j).ToShortDateString().ToString());
double dtPurchase = _objCashInHand.getPurchaseSum(Convert.ToDateTime(dt.Rows[0]["Dat"].ToString()).AddDays(j).ToShortDateString().ToString());
double dtEventOrder = _objCashInHand.getEventOrder(Convert.ToDateTime(dt.Rows[0]["Dat"].ToString()).AddDays(j).ToShortDateString().ToString());
double dtCredit = _objCashInHand.getCreditSum(Convert.ToDateTime(dt.Rows[0]["Dat"].ToString()).AddDays(j).ToShortDateString().ToString());
double dtDebit = _objCashInHand.getDebitSum(Convert.ToDateTime(dt.Rows[0]["Dat"].ToString()).AddDays(j).ToShortDateString().ToString());
double previousvalue = Convert.ToDouble(dgv_Cash.Rows[(i + 1) - 1].Cells["OpeningAmount"].Value.ToString());
dgv_Cash.Rows.Add(Convert.ToDateTime(dt.Rows[0]["Dat"].ToString()).AddDays(j).ToShortDateString(), dtSale, dtEventOrder, dtPurchase, dtCredit, dtDebit, (previousvalue + Convert.ToDouble(dtSale) + Convert.ToDouble(dtEventOrder) - Convert.ToDouble(dtPurchase) + Convert.ToDouble(dtCredit) - Convert.ToDouble(dtDebit)).ToString());
j++;
}
用于(int i=0;i在将DateTime转换为字符串时,您也需要指定不变量文化。系统格式是历元吗?DateTime。ParseExact
不会更改格式,它将字符串解析为DateTime
的内部系统表示形式,当您在Watch
窗口中看到它时,它只是调用ToString
方法,默认情况下将其转换为系统格式。对象本身不会更改。@DLNarasimhan:不,系统格式不是epoch。@MikhailNeofitov感谢您解释了DateTime.ParseExact
的作用。是否有办法将格式更改为dd/MM/yyyy并将其保留为DateTime以执行DateTime减法操作在中为循环配给,并在循环中使用它进行进一步操作?对不起,我没有得到你的答案。怎么做?这对我有什么帮助?