在oracle中怎么计算当天是本月的第几周?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在oracle中怎么计算当天是本月的第几周?相关的知识,希望对你有一定的参考价值。

在oracle中,通过to_char(sysdate,'w') 获得当天在本月为第几周时,为什么星期六属于下一周,而不是属于上周

这个算法的结果依赖于当前系统时间是什么时候…假设按照你说的,当前系统时间是星期六,那么它计算的结果就是说这个星期六是本月的第几个星期六。就拿12月来说,12月1日是星期六哦,所以你在12月1号查的时候它结果会是1哦,但是12月2日的时候,你查周日,它的结果仍然是1哦,因为是本月第一次出现的星期日哦!只有当你查12月8日的时候,才开始出现结果2哦…其实你可以在系统里选一些特殊的时间查一下就可以发现规律 参考技术A 从当月的第一天开始往后推7天(包括第一天),作为当月的第一周,在这个基础上,再往后推7天就是第二周了,以此类推。

C#中周,月,第几周,周开始结束时间de方法总结

1、c#获取当前时间是本年的第几周,本月的第几周

    private  static int getWeekNumInMonth(DateTime daytime)  
            {  
                int dayInMonth = daytime.Day;  
                //本月第一天  
                DateTime firstDay = daytime.AddDays(1 - daytime.Day);  
                //本月第一天是周几  
                int weekday = (int)firstDay.DayOfWeek == 0 ? 7 : (int)firstDay.DayOfWeek;  
                //本月第一周有几天  
                int firstWeekEndDay = 7 - (weekday - 1);  
                //当前日期和第一周之差  
                int diffday = dayInMonth - firstWeekEndDay;  
                diffday = diffday > 0 ? diffday : 1;  
                //当前是第几周,如果整除7就减一天  
                int WeekNumInMonth = ((diffday % 7) == 0  
                 ? (diffday / 7 - 1)  
                 : (diffday / 7)) + 1 + (dayInMonth > firstWeekEndDay ? 1 : 0);  
                return WeekNumInMonth;  
            }  

 2、获取本年的第几周:

    GregorianCalendar gc = new GregorianCalendar();  
               int weekOfYear = gc.GetWeekOfYear(DateTime.Now, CalendarWeekRule.FirstDay, DayOfWeek.Monday);  
               Console.WriteLine(weekOfYear);  
               Console.ReadLine();  

 3、c#得到本月有几周和这几周的起止时间示例代码

 /// <summary>
             /// 获得本月有几周
             /// </summary>
             /// <param name="a"></param>
             /// <returns></returns>
             public  void NumWeeks(DateTime dt)
             {
                 //年
                 int year = dt.Year;
                 //月
                 int month = dt.Month;
                 //当前月第一天
                 DateTime weekStart = new DateTime(year, month, 1);
                 //该月的最后一天
                 DateTime monEnd = weekStart.AddMonths(1).AddDays(-1);
                 int i = 1;
                 //当前月第一天是星期几
                 int dayOfWeek = Convert.ToInt32(weekStart.DayOfWeek.ToString("d"));
                 //该月第一周结束日期
                 DateTime weekEnd = dayOfWeek == 0 ? weekStart : weekStart.AddDays(7 - dayOfWeek);

                 richTextBox2.Text += "第" + i + "周起始日期: " + weekStart.ToShortDateString() + "   结束日期: " + weekEnd.ToShortDateString() + "\n";

                 //当日期小于或等于该月的最后一天
                 while (weekEnd.AddDays(1) <= monEnd)
                 {
                     i++;
                     //该周的开始时间
                     weekStart = weekEnd.AddDays(1);
                     //该周结束时间
                     weekEnd = weekEnd.AddDays(7) > monEnd ? monEnd : weekEnd.AddDays(7);

                     richTextBox2.Text += "第" + i + "周起始日期: " + weekStart.ToShortDateString() + "   结束日期: " + weekEnd.ToShortDateString() + "\n";
                 }

                 richTextBox2.Text += year + "年" + month + "月共有" + i + "周\n";
             }

 4、My97DatePicker日期插件的常用功能说明

http://jingyan.baidu.com/article/e6c8503c7244bae54f1a18c7.html

以上方法均为实际使用,亲测!!!

总结推荐下

各方法出处省略。

以上是关于在oracle中怎么计算当天是本月的第几周?的主要内容,如果未能解决你的问题,请参考以下文章

js实现获取当前时间是本月第几周和年的第几周的方法

oracle 确定日期为本月第几周

JS学校里怎么计算本周是该年的第几周

在mysql中得到当前日期是当月第几周

Excel中如何计算日期所在的这年的第几周,以周一作为一周的第一天

C#中周,月,第几周,周开始结束时间de方法总结