X
首页
技术
模拟电子
单片机
半导体
电源管理
嵌入式
传感器
最能打国产芯
应用
汽车电子
工业控制
家用电子
手机便携
安防电子
医疗电子
网络通信
测试测量
物联网
最能打国产芯
大学堂
首页
直播
专题
TI 培训
论坛
汽车电子
国产芯片
电机驱动控制
电源技术
单片机
模拟电子
PCB设计
电子竞赛
DIY/开源
嵌入式系统
医疗电子
颁奖专区
【厂商专区】
【电子技术】
【创意与实践】
【行业应用】
【休息一下】
最能打国产芯
活动中心
直播
发现活动
颁奖区
电子头条
参考设计
下载中心
分类资源
文集
排行榜
电路图
Datasheet
最能打国产芯
单片机
[讨论] 计算星期几的C代码
SuperStar515
2007-7-6 20:49
楼主
计算星期几的C代码
计算星期几的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
世界是个圈,人生也是个圈。
点赞
回复评论 (2)
沙发
huchuan987
回复:计算星期几的C代码
好, 虽然我不懂用C,但还是要支持楼主的精神~~~~
点赞
2007-7-8 01:32
板凳
gyh02133
回复:计算星期几的C代码
用不着那么复杂~~~~~~~~~~~~~~ 我
点赞
2007-7-8 12:10
最新活动
报名直播赢【双肩包、京东卡、水杯】| 高可靠性IGBT的新选择——安世半导体650V IGBT
30套RV1106 Linux开发板(带摄像头),邀您动手挑战边缘AI~
安世半导体理想二极管与负载开关,保障物联网应用的稳健高效运行
免费申请 | 上百份MPS MIE模块,免费试用还有礼!
PI 电源小课堂|无 DC-DC 变换实现多路高精度输出反激电源
2024 瑞萨电子MCU/MPU工业技术研讨会——深圳、上海站, 火热报名中
随便看看
疯壳AI开源无人机PWM(电机控制)
Illegalopcodereset
PCB 圆形灯珠板画法及灯珠等距排列
(看门狗)MAX6034微处理器监控芯片51系统应用实例(原理图+源程序)
这个滤波器的直流特性为啥不是直线?
Cadence库管理.
arm用户模式不能访问的系统资源到底是什么?
小弟刚开始学WINCE,两种方法实现,物理内存分配时,遇到一问题
lm3s8962学习心得——中断控制按钮和灯
希望官方组织团购eZ430-Chronos
USB_M8_RGBLED彩灯
怎样与小区监控摄像头连接
wince+s3c2440充电指示的问题
钽电容极性
【删繁就简 】 八分法画圆
LPC1300 的示例代码, 有个写法看不明白?求大虾指点
FPGA设计需要的技能
TI Cortex M3串口转以太网例程概述
TLP3547评测之(二)
电子设计竞赛题目分析——仪器仪表类题目分析
电子工程世界版权所有
京B2-20211791
京ICP备10001474号-1
京公网安备 11010802033920号
回复
写回复
收藏
回复