C语言 · 日期计算
YYYY MM DD
W
1 <= MM <= 12
1 <= DD <= 31,且确保测试样例中YYYY年MM月DD日是一个合理日期
1 <= W <= 7,分别代表周一到周日
#include<stdio.h>
#include<stdlib.h>
/*判断闰年函数:四年一闰,百年不闰,四百年再闰.*/
bool leap(int year){
if(year%== && year%!=)
return true;
if(year%==)
return true;
return false;
}
/*年份带来的天数差*/
getDay1(int year){
int sum=;//记录年份带来的天数差
if(year<=){
for(int i=year;i<;i++){
if(leap(i))
sum+=;
else
sum+=;
}
}
if(year>){
for(int i=;i<year;i++){
if(leap(i))
sum+=;
else
sum+=;
}
}
return sum;
}
/*月份带来的天数差*/
int getDay2(int year,int mon,int day){
int sum=;//记录月份带来的天数差
for(int i=;i<mon;i++){
if(i== || i== || i== || i== || i== || i== || i==){
sum+=;
}
if(i== || i== || i== || i==){
sum+=;
}
if(i== && leap(year)){
sum+=;
}
if(i== && !leap(year)){
sum+=;
}
}
sum = sum + day;
return sum-;//加到基准天数时其实多加了1
}
/*
在得出天数之后,还要分情况,首先将得到的天数差day%7,得到星期差; (1)如果给出的年份小于等于基础年份,那么应该从基础时间(星期六)
向负方向数day%7天,注意1之后要变成7; (2)如果给出的年份大于基础年份,那么应该从基础时间(星期六)
向正方向数day%7天,注意7之后要变成1. 注:abs():取绝对值函数。
*/
int main(){
int year,month,day;
scanf("%d%d%d",&year,&month,&day);
int sum=getDay1(year);//得到年份带来的天数差
if(year<){
sum = sum-getDay2(year,month,day);
int ans = sum%;
printf("%d",ans==?:abs(-ans));
}else{
sum = sum+getDay2(year,month,day);
int ans = sum%;
printf("%d",(+ans)> ? ((+ans)%) : (+ans));
}
return ;
}
C语言 · 日期计算的更多相关文章
- iOS学习笔记37-时间和日期计算
一.时间和日期计算 我们在应用开发中,时常须要和时间打交道,比方获取当前时间,获取两个时间点相隔的时间等等,在iOS开发中与时间相关的类有例如以下几个: 1. NSDate:表示一个绝对的时间点 2. ...
- C语言中计算变量占用内存空间
C语言中计算变量占用内存空间 在C语言中通常用[sizeof]运算符计算变量占内存空间,如下面的例子:
- java日期比较,日期计算
版权声明:本文为楼主原创文章,未经楼主允许不得转载,如要转载请注明来源. 都是常用的日期之间的比较方法,供以后参考. 热身:获取当前时间 SimpleDateFormat df = new Simpl ...
- CCF真题之日期计算
201509-2 日期计算 问题描述 给定一个年份y和一个整数d,问这一年的第d天是几月几日? 注意闰年的2月有29天.满足下面条件之一的是闰年: 1) 年份是4的整数倍,而且不是100的整数倍: 2 ...
- 李洪强漫谈iOS开发[C语言-041]-计算月份天数
李洪强漫谈iOS开发[C语言-041]-计算月份天数
- SQL通过日期计算年龄
首先建立一个表如下: ======================= BirthDay datetime not null Age 通过公式计算得出 ======================= 以 ...
- CalendarHelper日期计算工具,各种日期的获取和计算
今天分享一个日期获取和计算的工具类,这个最初是用在项目中获取每周每月日期用的. <Attention> 之后逛帖子的时候发现了这个专门处理日期的库,java上也有,android上还为了避 ...
- php 日期 - 计算2个日期的差值
/** * 日期-计算2个日期的差值 * @return int */ public function get_difference($date, $new_date) { $date = strto ...
- Javascript扩展String.prototype实现格式金额、格式时间、字符串连接、计算长度、是否包含、日期计算等功能
<script src="Js/jquery-3.1.1.min.js"></script> <script type="text/java ...
随机推荐
- 收缩sqlserver事务日志
若要允许 DBCC SHRINKFILE 命令收缩文件,首先需要通过将数据库恢复模式设置为 SIMPLE 来截断该文件. 示例,收缩数据库abce的事务日志 USE abce; GO -- Trunc ...
- android:fitsSystemWindows属性的用法
属性说明 fitsSystemWindows属性可以让view根据系统窗口来调整自己的布局:简单点说就是我们在设置应用布局时是否考虑系统窗口布局,这里系统窗口包括系统状态栏.导航栏.输入法等,包括一些 ...
- Mac OS X 下使用清理软件,这是我他妈干过最傻的事情,之一
Mac OS X 系统设计良好,数据都是有序地存储在不同的文件夹下,配置和安装软件几乎都是极其简单的事情,不过几个月前刚入手mac,我还是好奇地使用了一个mac 下的清理软件,也不记得叫什么名字了,自 ...
- 向量运算 与 JavaScript
二维向量都包含两个值:方向(direction)及大小(magnitude) 这两个值可以表达出各种各样的物理特性来,比如力和运动.如两个物体间的碰撞检测. 向量的大小 虽说二维向量是对大 ...
- 另辟蹊径 直取通州的“墨迹天气”APP应用的成功故事
一个天气应用,曾被认为是要挑战国家气象局,网站也莫名其妙地被封,两个合伙人先后离开.创始人金犁是如何把这么一款工具类应用做到人所共知的? 采访 | 郑江波 翟文婷 文 | 翟文婷 出生时间:1982年 ...
- MySQL 死锁与日志二三事
最近线上 MySQL 接连发生了几起数据异常,都是在凌晨爆发,由于业务场景属于典型的数据仓库型应用,白天压力较小无法复现.甚至有些异常还比较诡异,最后 root cause 分析颇费周折.那实际业务当 ...
- MySQL各类日志文件相关变量介绍
文章转自:http://www.ywnds.com/?p=3721 MySQL各类日志文件相关变量介绍 查询所有日志的变量 1 mysql> show global variables li ...
- php分享三十二:php调试工具
一:phpdbg http://phpdbg.com/
- php基础面试题:
1:print.print_r.echo到底有什么区别? 2:get和post的区别 echo和print都可以做输出,不同的是,echo不是函数,没有返回值,而print是一个函数有返回值,所以相对 ...
- JavaScript DOM API初步(整理)
文档对象模型 文档对象模型(Doucment Object Model,DOM)是表示文档(如HTML文档.XML文档)和访问.操作构成文档的各种元素的应用程序接口.在DOM中,HTML文档的层次结构 ...