⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 +

📁 一个计算星期的函数在ARM 和51上实用
💻
字号:
/////////////////////////////
bool IsLeapYear(WORD year)
{
	if ( ( 0 == year%4 && 0 != year%100 ) || 0 == year%400 ) return true;

	return false;
}

WORD GetDayNumOfMonth( WORD year, WORD month )
{
	if ( 0 == month || month > 12 ) return 0;

	WORD  num = 0;
	switch ( month )
	{
	case 1:
	case 3:
	case 5:
	case 7:
	case 8:
	case 10:
	case 12:
		{
			num = 31;
			break;
		}
	case 4:
	case 6:
	case 9:
	case 11:
		{
			num = 30;
			break;
		}
	case 2:
		{
			if (IsLeapYear(year)) num = 29;
			else num = 28;
			break;
		}
	}

	return num;
}

WORD DayOfWeek( WORD y, WORD m, WORD d )
{
	DWORD s, c;
    
	c = 0;
    for(int i=1;i<m;i++)
		c += GetDayNumOfMonth(y,m);

	c = c + d;
	s = (y-1) * 365 + (y-1)/ 4 - (y-1)/100 + (y-1)/400 + c;

	return (WORD)(s%7);
}

function getDay($y,$m,$d) {
  if($m==1 || $m==2) {
    $m += 12;
    $y--;
  }
  $t = $d+2*$m+bcdiv(3*($m+1),5,0)+$y+bcdiv($y,4,0)-bcdiv($y,100,0)+bcdiv($y,400,0);
  return ($a+1)%7;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -