Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在C中未更改日期时间格式#_C#_Winforms_Datetime_Date Formatting - Fatal编程技术网

C# 在C中未更改日期时间格式#

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

我正在使用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())).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减法操作在
中为循环配给
,并在循环中使用它进行进一步操作?对不起,我没有得到你的答案。怎么做?这对我有什么帮助?