Simple way to handle time in C#?

前端 未结 4 1497
囚心锁ツ
囚心锁ツ 2020-12-18 08:01

My current approach is something like

DateTime startHour = new DateTime(1900,1,1,12,25,43);
DateTime endHour = new DateTime(1900,1,1,13,45,32);

// I need to         


        
4条回答
  •  野趣味
    野趣味 (楼主)
    2020-12-18 08:22

    You should use TimeSpan for startHour and endHour. When comparing with now, you should "convert" them to a full DateTime or get the Time with DateTime.TimeOfDay as mentioned by Jon Skeet.

    
    TimeSpan startHour = new TimeSpan(12, 25, 43);
    DateTime now = DateTime.Now;
    
    if (now.CompareTo(DateTime.Today.Add(startHour)) > 0) {
        //...
    }
    

    or

    
    TimeSpan startHour = new TimeSpan(12, 25, 43);
    DateTime now = DateTime.Now;
    
    if (now.TimeOfDay.CompareTo(startHour) > 0) {
        //...
    }
    

提交回复
热议问题