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

C# 如何比较范围内的日期时间和小时

C# 如何比较范围内的日期时间和小时,c#,C#,我想知道在以下范围内的另一天: 2017年12月26日下午5:45。这是星期一下午6点到星期三下午6点的范围吗 请帮我解决它。我只知道一天,但如何解决小时数。试试这样的方法 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Globalization; namespace ConsoleApplication59 { class Progr

我想知道在以下范围内的另一天:

2017年12月26日下午5:45。这是星期一下午6点到星期三下午6点的范围吗


请帮我解决它。我只知道一天,但如何解决小时数。试试这样的方法

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Globalization;

namespace ConsoleApplication59
{
    class Program
    {
        static void Main(string[] args)
        {
            DateTime time = DateTime.ParseExact(("26-12-2017 5:45pm").ToUpper(),"dd-MM-yyyy h:mmtt", CultureInfo.InvariantCulture);
            int dayOfWeek = (int)time.DayOfWeek;
            DateTime saturdaySundayMidnight = time.AddDays(-dayOfWeek).Date;
            TimeSpan timeOfWeek = time.Subtract(saturdaySundayMidnight);
            TimeSpan  startTime = new TimeSpan(1,17,45,0);  //Monday 5:45PM
            TimeSpan  endTime = new TimeSpan(3,18,0,0);  //Wednesday 6:00PM

            if ((timeOfWeek >= startTime) && (timeOfWeek <= endTime))
            {
                Console.WriteLine("In Range");
            }
        }
    }
}
使用系统;
使用System.Collections.Generic;
使用System.Linq;
使用系统文本;
利用制度全球化;
命名空间控制台应用程序59
{
班级计划
{
静态void Main(字符串[]参数)
{
DateTime time=DateTime.ParseExact(((“26-12-2017 5:45pm”).ToUpper(),“dd-MM-yyy h:mmtt”,CultureInfo.InvariantCulture);
int dayOfWeek=(int)time.dayOfWeek;
DateTime saturdaySundayMidnight=time.AddDays(-dayOfWeek).Date;
TimeSpan timeOfWeek=时间减去(周六周日午夜);
TimeSpan startTime=新的TimeSpan(1,17,45,0);//星期一下午5:45
TimeSpan endTime=新的TimeSpan(3,18,0,0);//星期三下午6:00

如果((timeOfWeek>=startTime)&&(timeOfWeek=startTime)&&(timeOfWeek)&(timeOfWeek)&(timeOfWeek)有人能告诉我我在我的问题中有什么地方错了吗???你没有表现出你的努力,你只是要求一个解决方案。谢谢@jdweng,因为我不知道时间跨度如何才能得到第一天和第三天的时间。再次感谢jdwengnew Timespan(天、小时、分钟、秒)。我猜开始时间应该是(0,18,0,0)而不是(0,17,45,0)。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Globalization;

namespace ConsoleApplication59
{
    class Program
    {
        static void Main(string[] args)
        {
            DateTime time = DateTime.ParseExact(("26-12-2017 5:45pm").ToUpper(),"dd-MM-yyyy h:mmtt", CultureInfo.InvariantCulture);
            int dayOfWeek = ((int)time.DayOfWeek - 1) % 7; //Monday day 0 instead of sunday
            DateTime sundayMondayMidnight = time.AddDays(-dayOfWeek).Date;
            TimeSpan timeOfWeek = time.Subtract(sundayMondayMidnight);
            TimeSpan  startTime = new TimeSpan(0,17,45,0);  //Monday 5:45PM
            TimeSpan  endTime = new TimeSpan(2,18,0,0);  //Wednesday 6:00PM

            if ((timeOfWeek >= startTime) && (timeOfWeek <= endTime))
            {
                Console.WriteLine("In Range");
            }
        }
    }
}