Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.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#_.net_List_Sorting_Datetime - Fatal编程技术网

C# 按日期排序的问题

C# 按日期排序的问题,c#,.net,list,sorting,datetime,C#,.net,List,Sorting,Datetime,我试图只显示24小时或更短时间前添加到数据库中的数据。然而,由于某些原因,我编写的代码不起作用,数据库中的两个条目,一个来自1小时前,一个来自2天前,都出现了。我的方程式有问题吗?谢谢 public void UpdateValues() { double TotalCost = 0; double TotalEarned = 0; double TotalProfit = 0; double TotalHST = 0;

我试图只显示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);
    }
public void UpdateValues()
{
双重总成本=0;
双倍总收入=0;
双倍总利润=0;
双总HST=0;

for(int i=0;i将其放在for循环内(datetime变量现在将其放在外部):

DateTime now=DateTime.now;
DateTime TransactionListDate=Program.TransactionList[i].自2013年起的小时数;

如果(TransactionListDate>now.AddHours(-24)&&TransactionListDate,则数据库中的数据时间值位于Program.TransactionList?…中,类似于Program.TransactionList[i]。例如mydatetime?
Program.TransactionList[i]。HoursSince2013
是这样添加的:
…HoursSince2013=Convert.ToInt32(Math.Round(TimeSince2013.TotalHours)),…
你为什么不在数据库中存储一个实时的日期时间?这会更简单好,我现在在数据库中存储一个日期时间。但仍然无法让24小时的事情正常工作。明白了,我使用了一个已删除的答案中的一些代码…谢谢神秘人!
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....
}