【问题标题】:asp.net C# DateTime Conditionasp.net C# 日期时间条件
【发布时间】:2015-10-05 16:02:23
【问题描述】:

我有一个从 SQL 数据库中获取数据的 Listview。其中一列是从数据库中获取数据的日期,格式为“mm/dd/yyyy 0:00:00 AM”

我正在尝试从 DateTime.Now 获取超过一个小时的日期以突出显示

这是我现在所拥有的(是的,我知道这是错误的)

Label TimeLabel = (Label)e.Item.FindControl("TPTIMEIN");
            if (TimeLabel != null)
            {
                DateTime Total;
                if (DateTime.TryParse(TimeLabel.Text, out Total) == true)
                {
                    if (Total < (DateTime.Now))
                    {
                        TimeLabel.BackColor = System.Drawing.Color.Red;
                        TimeLabel.ForeColor=System.Drawing.Color.White;
                    }
                }
            }

任何帮助将不胜感激,我对编码很陌生,所以放轻松!

【问题讨论】:

    标签: c# asp.net listview datetime conditional-statements


    【解决方案1】:

    使用DateTime.AddHours(1)。见MSDN

    if(Total > DateTime.Now.AddHours(1)) 
    {
         TimeLabel.BackColor = System.Drawing.Color.Red;
         TimeLabel.ForeColor=System.Drawing.Color.White;
    }
    

    【讨论】:

    • 谢谢,我以为就这么简单!
    【解决方案2】:

    你可以的

    String dtFormat = "MM/dd/yyyy h:mm:ss tt";
    
    String dtString = "02/01/2015 10:01:56 AM";
    
    
    DateTime dtObject = DateTime.ParseExact(dtString, dtFormat, System.Globalization.CultureInfo.InvariantCulture);
    
    if (dtObject.AddHours(1) >= DateTime.Now)
    {
        //Greater
    }
    else
    {
        // Smaller
    }
    

    【讨论】:

      【解决方案3】:
      if (DateTime.Now.Subtract(Total).TotalHours > 1)
      {
          //Change the label color here
      }
      

      【讨论】:

        猜你喜欢
        • 2015-07-13
        • 2012-10-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-03-24
        • 1970-01-01
        • 1970-01-01
        • 2011-04-21
        相关资源
        最近更新 更多