C语言程序 查找星期,C节目查找星期几给定日期

单线程不太可能,但

strptime function可用于解析日期格式,并且可以在自动修改这些字段的系统(例如一些glibc实现)上为其tm_wday成员查询struct tm参数.

int get_weekday(char * str) {

struct tm tm;

memset((void *) &tm, 0, sizeof(tm));

if (strptime(str, "%d-%m-%Y", &tm) != NULL) {

time_t t = mktime(&tm);

if (t >= 0) {

return localtime(&t)->tm_wday; // Sunday=0, Monday=1, etc.

}

}

return -1;

}

或者你可以编码这些规则,在一个很长的单行中进行一些算术:

> 1900年1月1日是星期一.

>三十天有九月,四月,六月和十一月;其余的都有三十一个,节约了二月二十八日,有二十八个,下雨或闪耀,闰年二十九.

>闰年发生在任何一年可以被除以4,但不是在一个世纪,除非是可以被400整除.

编辑:请注意,此解决方案仅适用于UNIX时代(1970-01-01T00:00:00Z)之后的日期.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值