📄 计算星期几的c代码.txt
字号:
计算星期几的C代码
static UCHAR ClkDay; /* Counters for local DATE */
static UCHAR ClkDOW; /* Day of week (0 is Sunday) */
static UCHAR ClkMonth;
static UINT ClkYear;
typedef struct clk_month
{
UCHAR MonthDays; /* Number of days in each month */
char *MonthName; /* Name of the month */
UCHAR MonthVal; /* Value used to compute day of the week */
} CLK_MONTH;
static CLK_MONTH code ClkMonthTbl[] = { /* MONTHS TABLE */
{0, "", 0}, /* Invalid month */
{31, "January ", 6}, /* January */
{28, "February ", 2}, /* February (note leap years are handled by code) */
{31, "March ", 2}, /* March */
{30, "April ", 5}, /* April */
{31, "May ", 0}, /* May */
{30, "June ", 3}, /* June */
{31, "July ", 5}, /* July */
{31, "August ", 1}, /* August */
{30, "September ", 4}, /* September */
{31, "October ", 6}, /* October */
{30, "November ", 2}, /* November */
{31, "December ", 4} /* December */
};
/*
********************************************************************************
*************************
* COMPUTE DAY-OF-WEEK
*
* Description : This function computes the day of the week (0 == Sunday) based
on the current month,
* day and year.
* Arguments : None.
* Returns : None.
* Notes : - This function updates ClkDOW.
* - This function is called by ClkUpdateDate().
********************************************************************************
*************************
*/
#if CLK_DATE_EN
static void ClkUpdateDOW (void)
{
UINT dow;
dow = ClkDay + ClkMonthTbl[ClkMonth].MonthVal;
if (ClkMonth < 3)
{
if (ClkIsLeapYear(ClkYear))
{
dow--;
}
}
dow += ClkYear + (ClkYear / 4);
dow += (ClkYear / 400) - (ClkYear / 100);
dow %= 7;
ClkDOW = dow;
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -