Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/272.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#,在获取公历中的一年中的某一天时,我们是否可以像获取一年中的某一周一样使用日历规则—GetWeekInYearDateTime日期、日历规则、DayOfweek firstDayOfWeek?使用Calendar类?快速查看MSDN文档似乎意味着它没有一种方法可以直接为您提供所需的内容 但是,通过将Calendar类与DateTime类相结合,可以编写一个同样有效的方法 使用gregoriacalendar.GetDayOfYearDateTime 我不知道在计算一年中的哪一天时,有任何文化上不同

在获取公历中的一年中的某一天时,我们是否可以像获取一年中的某一周一样使用日历规则—GetWeekInYearDateTime日期、日历规则、DayOfweek firstDayOfWeek?

使用Calendar类?快速查看MSDN文档似乎意味着它没有一种方法可以直接为您提供所需的内容

但是,通过将Calendar类与DateTime类相结合,可以编写一个同样有效的方法

使用gregoriacalendar.GetDayOfYearDateTime

我不知道在计算一年中的哪一天时,有任何文化上不同的规则

更新:

如果要计算从一年中第一周的第一天开始的天数,其中一年的第一周是根据特定的CalendarWeekRule确定的,可以执行类似以下操作,如GregorianCalendar类上的扩展方法所示:

用法示例:

        GregorianCalendar cal = new GregorianCalendar();
        DateTime jan01;
        DateTime.TryParse("1/1/2011", out jan01);
        for (int i = 0; i < 4; i++)
        {
            DateTime date = jan01 + TimeSpan.FromDays(i);

            Console.WriteLine(
                "{2} {0} is day {1} of year.",
                date.ToShortDateString(),
                cal.GetDaysFromStartOfFirstWeekOfYear(
                    date,
                    CalendarWeekRule.FirstFullWeek,
                    DayOfWeek.Sunday),
                cal.GetDayOfWeek(date));
        }

如果您曾经使用过其他语言的时间戳或日期时间,则相对容易。如果你只是在学习编程的话,那就是火的洗礼。我有点好奇你在写什么样的应用程序需要使用日历规则-那些人会进入一年中的哪一天?如果一年从星期一开始,那么一年中的第十天是否与从星期五开始的一年不同?
        GregorianCalendar cal = new GregorianCalendar();
        DateTime jan01;
        DateTime.TryParse("1/1/2011", out jan01);
        for (int i = 0; i < 4; i++)
        {
            DateTime date = jan01 + TimeSpan.FromDays(i);

            Console.WriteLine(
                "{2} {0} is day {1} of year.",
                date.ToShortDateString(),
                cal.GetDaysFromStartOfFirstWeekOfYear(
                    date,
                    CalendarWeekRule.FirstFullWeek,
                    DayOfWeek.Sunday),
                cal.GetDayOfWeek(date));
        }