C# 按日期排序的问题
我试图只显示24小时或更短时间前添加到数据库中的数据。然而,由于某些原因,我编写的代码不起作用,数据库中的两个条目,一个来自1小时前,一个来自2天前,都出现了。我的方程式有问题吗?谢谢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;
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....
}