我使用下面的代碼來罰款人,如果他們在該書到期後提交書籍。但是當我計算出公民的日期正在變爲1/1/0001?如何使用系統日期時間顯示原始日期C#
我需要幫助保持原始duedate顯示。
private short BookLoan;
private void btnCal_Click(object sender, EventArgs e)
{
System.DateTime DateDueBack = new System.DateTime();
long DaysOverdue = 0;
decimal FineRate = default(decimal);
decimal Fine = default(decimal);
txtDateDue.Text = DateDueBack.ToString();
DaysOverdue= Microsoft.VisualBasic.DateAndTime.DateDiff("d", DateDueBack, txtDateReturned.Text);
switch (numericUpDown1.DecimalPlaces) {
case 0:
BookLoan = 1;
FineRate = 2;
break;
case 1:
BookLoan = 3;
FineRate = 3;
break;
case 2:
BookLoan = 10;
FineRate = 5;
break;
case 3:
BookLoan = 30;
FineRate = 35;
break;
}
if (DaysOverdue <= 0) {
DaysOverdue = 0;
}
if (DaysOverdue > 0) {
Fine = FineRate * DaysOverdue;
} else {
Fine = 0;
}
txtDateOverDue.Text = DaysOverdue + " days overdue";
txtReturnFine.Text = "Fine of " + Strings.Format(Fine, "Currency") + " to pay";
}
不要依賴VB的隱式DateTime/String轉換。使用明確的'DateTime.Parse'或'TryParse'調用。 – Dai
請多曝光 –