• asp.net 时间比较,常用于在某段时间进行操作


    DateTime.Compare(t1,t2)比较两个日期大小,排前面的小,排在后面的大,比如:2011-2-1就小于2012-3-2
    返回值小于零:  t1 小于 t2。 
    返回值等于零 : t1 等于 t2。 
    返回值大于零:  t1 大于 t2。

        using System;  
        using System.Collections.Generic;  
        using System.Linq;  
        using System.Text;  
          
        namespace ConsoleApplication1  
        {  
            class Program  
            {  
                static void Main(string[] args)  
                {  
          
                    DateTime t1 = DateTime.Parse("2011-2-2");  
                    DateTime t2 = DateTime.Parse("2011-3-1");  
          
                    if (DateTime.Compare(t1, t2) > 0)   
                        Console.WriteLine("t1 > t2");  
                    if (DateTime.Compare(t1, t2) == 0)   
                        Console.WriteLine("t1 == t2");  
                    if (DateTime.Compare(t1, t2) < 0)   
                        Console.WriteLine("t1 < t2");  
                }  
            }  
        }  

    运行结果:

    t1 < t2
    请按任意键继续. . .

    以下逻辑表示:

    每天2人轮流值班,每天08:30进行一次换班,每天17:30进行一次换班,当天08:30之前的调用上一天第二人值班

       /// <summary>
            /// 时间比较,与当前系统时间比较,若返回1,表示t1小;若返回-1,表示t1大
            /// </summary>
            /// <param name="t1"></param>
            /// <returns></returns>
            private static int CompareTime(string t1)
            {
                int str = 0;
                if (DateTime.Compare(Convert.ToDateTime(t1), Convert.ToDateTime(DateTime.Now.ToString("HH:mm:ss"))) >= 0)
                {
                    str = 1;
                }
                else
                {
                    str = -1;
                }
                return str;
            }
           string morning_time = "08:30:00";
               string night_time = "17:30:00";
          if (CompareTime("00:00:00") == -1 && CompareTime(morning_time) == 1)//处于当日00:00-08:30之间,选择上一天第二人 { strWhere = " work_date='" + (DateTime.Now.Day - 1).ToString() + "'"; } else if (CompareTime(morning_time) == -1 && CompareTime("23:59:59") == 1)//处于当日08:30:00-23:59:59之间,选择当天第一人或第二人 { strWhere = " work_date='" + DateTime.Now.Day.ToString() + "'"; }

           

             string[] StrWordList = StrWord.Split('|');
                    StrWordList = strTo(StrWordList);//去除数组中重复和空白的元素
                    if (StrWord.Length >= 2 && StrNumList.Length >= 2)
                    {
                        returnStr = "";
                        if (type == "top")
                        {
                           
                            if (CompareTime("00:00:00") == -1 && CompareTime(morning_time) == 1)//处于当日00:00-08:30之间,选择上一天第二人
                            { 
                                returnStr = "<a href="manager/work.aspx" target="mainframe">" + StrWordList[1].ToString() + StrNumList[1] + "</a>"; 
                            }
                            else if (CompareTime(morning_time) == -1 && CompareTime(night_time) == 1)//处于当日08:00-17:30之间,选择当天第一人
                            { 
                                returnStr = "<a href="manager/work.aspx" target="mainframe">" + StrWordList[0].ToString() + StrNumList[0] + "</a>"; 
                            }
                            else if (CompareTime(night_time) == -1 && CompareTime("23:59:59") == 1)//处于当日17:30-24:00之间,选择当天第二人
                            {
                                returnStr = "<a href="manager/work.aspx" target="mainframe">" + StrWordList[1].ToString() + StrNumList[1] + "</a>"; 
                            }
    
                        }
              }
  • 相关阅读:
    WPF中C#代码触发鼠标点击事件
    PHP代码实现强制换行
    C#中判断系统的架构(32位,还是64位)
    WPF的System.Windows.Threading.DispatcherTimer的使用(每隔一定的时间重复做某事)
    LINQ to Objects系列(2)两种查询语法介绍
    LINQ to Objects系列(1)相关技术准备
    常用技术社区和网站总结
    .net项目技术选型总结
    java与.net比较学习系列(7) 属性
    java与.net比较学习系列(6) 数组
  • 原文地址:https://www.cnblogs.com/qigege/p/5123638.html
Copyright © 2020-2023  润新知