Ich arbeite an einer bereits entwickelten Desktop-Anwendung in VS 2010 mit MS Access-Datenbank. Die Anwendung funktioniert gut in dd/MM/yyyy
Format. Aber der folgende Code verwendet Convert.ToDateTime
, die datetime
Zeichenfolge in dd/MM/yyyy
in das Systemformat ändert und daher Fehler gibt.DateTime-Format wird nicht in C geändert #
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++;
}
Ich versuchte DateTime.ParseExact(dtp_Date.Text, "dd/MM/yyyy", CultureInfo.InvariantCulture)
aber das Datums-Zeitformat ist nach wie vor in Systems-Format.
Was mache ich, um das Datetime-Format in TT/MM/JJJJ auch in der for loop
für richtiges Arbeiten zu halten?
ist das Systemformat eine Epoche? –
'DateTime.ParseExact' verändert das Format nicht, es analysiert Ihre Zeichenkette zur internen Systemdarstellung von' DateTime', wenn Sie es im 'Watch' Fenster sehen, ruft es einfach' ToString' Methode auf, die es standardmäßig in System umwandelt Format. Das Objekt selbst ändert sich nicht. –
@DLNarasimhan: Nein, Systemformat ist keine Epoche. –