读书人

怎么计算当前日期是本月的第几周

发布时间: 2012-09-07 10:38:15 作者: rapoo

如何计算当前日期是本月的第几周?
不要复制别人的!

自己有实际应用的代码!

谢谢!


[解决办法]

C# code
  static void Main(string[] args)        {         //如何计算当前日期是本月的第几周?            //得到当前为这个月的第几天            int day = Convert.ToInt32(DateTime.Now.Day);            Console.WriteLine("当前是这个月的第" + day + "天");            //得到是当前年的哪一天            int yearday = Convert.ToInt32(DateTime.Now.DayOfYear);            Console.WriteLine(yearday);            //得到当前年            int year = Convert.ToInt32(DateTime.Now.Year);            Console.WriteLine(year);            //得到月份            int month = Convert.ToInt32(DateTime.Now.Month);            int totalDays = 0;            bool inRn;//是否为闰年            if (year % 4 == 0 && !(year % 100 == 0) || year % 400 == 0)            {                inRn = true;            }            else            {                inRn = false;//平年            }            for (int i = 1900; i < year; i++)            {                /* 判断闰年或平年,并进行天数累加 */                if (i % 4 == 0 && i % 100 != 0 || i % 400 == 0)                { // 判断是否为闰年                    totalDays = totalDays + 366; // 闰年366天                }                else                {                    totalDays = totalDays + 365; // 平年365天                }            }            Console.WriteLine(totalDays);            int days = 0;            int beforeDays = 0;            for (int i = 1; i <= month; i++)            {                switch (i)                {                    case 1:                    case 3:                    case 5:                    case 7:                    case 8:                    case 10:                    case 12:                        days = 31;                        break;                    case 2:                        if (inRn)                        {                            days = 29;                        }                        else                        {                            days = 28;                        }                        break;                    default:                        days = 30;                        break;                }                if (i < month)                {                    beforeDays = beforeDays + days;                }            }            Console.WriteLine("此月份之前的天数" + beforeDays);            totalDays = totalDays + beforeDays; // 距离1900年1月1日的天数            int firstDayOfMonth; // 存储当月第一天是星期几:星期日为0            int temp = 1 + totalDays % 7; // 从1900年1月1日推算            if (temp == 7)            { // 求当月第一天                firstDayOfMonth = 0; // 周日            }            else            {                firstDayOfMonth = temp;            }            Console.WriteLine("该月第一天是星期" + firstDayOfMonth);        }//还真没想到这么麻烦
[解决办法]
C# code
public   static   int   GetWeekOfNow()     {         //今天是这个月的的几天     int   days   =   DateTime.Today.Day;     int   weeks   =   0;     for(int   i=1;i<=days;i++)     {     //返回日期     DateTime   dayDate   =   new   DateTime(DateTime.Now.Year,DateTime.Now.Month,i);     //如果是星期一就算一周     if(Convert.ToInt32(dayDate.DayOfWeek)   ==   1)     {     weeks++;     }     }     if(weeks   ==   0)     {     weeks++;     }     return   weeks;     } 

读书人网 >C#

热点推荐