2013-10-26 2 views
1

24 시간 이하 전에 데이터베이스에 추가 된 데이터 만 표시하려고합니다. 그러나 몇 가지 이유로 필자가 작성한 코드는 작동하지 않으며 내 데이터베이스의 항목 (1 시간 전의 항목, 2 일 전의 항목)이 표시됩니다. 내 방정식에 문제가 있습니까? 감사! 루프에 대한 내부문제를 날짜순으로 정렬하기

public void UpdateValues() 
    { 
     double TotalCost = 0; 
     double TotalEarned = 0; 
     double TotalProfit = 0; 
     double TotalHST = 0; 
     for (int i = 0; i <= Program.TransactionList.Count - 1; i++) 
     { 
      DateTime Today = DateTime.Now; 
      DateTime Jan2013 = DateTime.Parse("01-01-2013"); //Hours since Jan12013 
      int TodayHoursSince2013 = Convert.ToInt32(Math.Round(Today.Subtract(Jan2013).TotalHours)); //7 
      int ItemHoursSince2013 = Program.TransactionList[i].HoursSince2013; //Equals 7176, and 7130 

      if (ItemHoursSince2013 - TodayHoursSince2013 <= 24) 
      { 
       TotalCost += Program.TransactionList[i].TotalCost; 
       TotalEarned += Program.TransactionList[i].TotalEarned; 
       TotalProfit += Program.TransactionList[i].TotalEarned - Program.TransactionList[i].TotalCost; 
       TotalHST += Program.TransactionList[i].TotalHST; 
      } 
     } 
     label6.Text = "$" + String.Format("{0:0.00}", TotalCost); 
     label7.Text = "$" + String.Format("{0:0.00}", TotalEarned); 
     label8.Text = "$" + String.Format("{0:0.00}", TotalProfit); 
     label10.Text = "$" + String.Format("{0:0.00}", TotalHST); 
    } 
+0

데이터베이스의 datatime 값이 Program.TransactionList에 있습니까? ... like Program.TransactionList [i] .mydatetime 예 :? – terrybozzio

+0

'Program.TransactionList [i] .HoursSince2013'은 다음과 같이 추가됩니다 : '... HoursSince2013 = Convert.ToInt32 (Math.Round (TimeSince2013.TotalHours)), ... ' – Nathan

+0

왜 그냥 저장하지 않습니까? DB에서 실제 DateTime? 훨씬 쉬워 질 것입니다 – Florian

답변

2

이 장소를 (날짜 시간 변수가 이제 외부 배치) :

DateTime now = DateTime.Now; 
DateTime TransactionListDate = Program.TransactionList[i].HoursSince2013; 
if (TransactionListDate > now.AddHours(-24) && TransactionListDate <= now) 
{ 
    //it falls between now and last 24 hours.... 
} 

나는 이것이 당신이 Program.TransactionList 가정 need.I 어떤 생각 [I] .HoursSince2013은이다 날짜 시간.