c语言中美日期转变怎么编程,公历和农历之间如何转换?
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我这里有自己写的源程序:
#include
#include
struct data
{
int year1;
int specialmonth;
int month1[13];
};
struct day{
int year2;
int month2;
int day2;
};
int dis_day1(struct day *op,int *p)
{
int n=0,x;
n+=(op->year2-1980)*365;
for(x=1980;xyear2;x++)
if((x%4==0&&x%100!=0)||(x%100==0&&x%400==0))n+=1;
for(x=1;xmonth2);x++)
n+=*(p+x-1);
x=op->year2;
if(((x%4==0&&x%100!=0)||(x%100==0&&x%400==0))&&op->month2>2)n+=1;
n+=(op->day2-1);
return n;
}
int dis_day2(struct day *op,struct data *p)
{
int n=0,maxmonth,i,x;
for(x=1980;xyear2;x++)
{ if((p+x-1979)->specialmonth==0)maxmonth=12;
else maxmonth=13;
for(i=0;i
if((p+x-1979)->month1[i]==0)n+=29;
else n+=30;
}
if((p+op->year2-1979)->specialmonth!=0)
if((p+op->year2-1979)->specialmonthmonth2)op->month2++;
for(i=1;imonth2;i++)
{
if((p+op->year2-1979)->month1[i-1]==0)n+=29;
else n+=30;}
n+=(op->day2-1);
n+=46;
return n;
}
void work_out2(struct day *re,struct data *p,int n)
{
int n1=0,maxday,maxmonth,month,day,judge=0;
re->year2=1979;re->month2=11;re->day2=14;
while(1)
{
if(judge==1)break;
if(p->specialmonth==0)maxmonth=12;
else maxmonth=13;
if(p->year1==1979)month=12;
else month=1;
for(;month<=maxmonth;month++)
{
if(p->month1[month-1]==0)maxday=29;
else maxday=30;
if((p->year1==1979)&&(maxday==30))day=14;
else day=1;
for(;day<=maxday;day++)
{
if(n1==n){if(maxmonth==13&&month>p->specialmonth)month-=1;
re->year2=p->year1;re->month2=month;re->day2=day;judge=1;break;}
else n1+=1;
}
if(judge==1)break;}
p++;
}
}
void work_out1(struct day *re,int n,int *p)
{
int year=1980,n1=0,month,day,maxday,judge=0;
re->year2=1980;re->month2=1;re->day2=1;
while(1)
{
*(p+1)=28;
if(judge==1)break;
if((year%4==0&&year%100!=0)||(year%100==0&&year%400==0))*(p+1)=29;
for(month=1;month<=12;month++)
{
maxday=*(p+month-1);
for(day=1;day<=maxday;day++)
{
if(n1==n){re->year2=year;re->month2=month;re->day2=day;judge=1;break;}
else n1++;
}
if(judge==1)break;}
year++;
}
}
main()
{
int n,c;
int sun[12]={31,28,31,30,31,30,31,31,30,31,30,31};
int *p1=sun;
struct day ob,re; struct data *p2;
struct data year[37]={
{1979,6, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0 },
{1980,0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0 },
{1981,0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0 },
{1982,4, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1 },
{1983,0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0 },
{1984,10,1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1 },
{1985,0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0 },
{1986,0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0 },
{1987,6, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0 },
{1988,0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0 },
{1989,0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0 },
{1990,5, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1 },
{1991,0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0 },
{1992,0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0 },
{1993,3, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0 },
c语言中美日期转变怎么编程,公历和农历之间如何转换?相关推荐
- c语言公历转农历程序,公历和农历之间如何转换?
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 我这里有自己写的源程序: #include #include struct data { int year1; int specialmonth; int ...
- 阳历转化为农历的c语言程序,公历和农历之间如何转换?
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 我这里有自己写的源程序: #include #include struct data { int year1; int specialmonth; int ...
- c语言不同类型指针间的强转,C语言中不同的结构体类型的指针间的强制转换详解...
C语言中不同类型的结构体的指针间可以强制转换,很自由,也很危险.只要理解了其内部机制,你会发现C是非常灵活的. 一. 结构体声明如何内存的分布, 结构体指针声明结构体的首地址, 结构体成员声明该成员在 ...
- c语言中二进制与十进制怎么转换器,十进制与二进制如何互转换?编程语言教会你进制编程...
计算机语言中经常使用到进制之间的转换,本文介绍使用不同编程语言来如何实现十进制与二进制相互之间的转换?不同编程语言中进制转换原理是一样的. 十进制转换二进制原理:采用除2取余,逆序排列输出. 实现:用 ...
- java基础(11)(时间,日期,日历详解以及他们之间的转换)
Date类 简介 Date类是java.util包下的类,继承父类java.lang.Object,已实现的的接口有Serializable,Cloneable,Comparable<Date& ...
- 计算机excel二进制,在Excel中实现二进制、八进制、十进制、十六进制之间的转换函数介绍...
我们都知道,日常生活中使用的是十进制,而计算机里面的数据是二进制数据:此外,还有不常用的八进制和十六进制.我们如何在Excel中,实现不同进制数据之间的转换呢? 以下,本站为您珍藏了相应的函数,希望对 ...
- c语言小数转化为十进制小数,浅谈十进制小数和二进制小数之间的转换
一.二进制数转换成十进制数 由二进制数转换成十进制数的基本做法是,把二进制数首先写成加权系数展开式,然后按十进制加法规则求和.这种做法称为"按权相加"法. 二.十进制数转换为二进制 ...
- android中计算日期差,Android编程实现根据不同日期计算天数差的方法
本文实例讲述了Android编程实现根据不同日期计算天数差的方法.分享给大家供大家参考,具体如下: Calendar cal1 = getCalendarFromDate(mStartDate); l ...
- subzm在c语言中的作用,数学和编程到底是什么关系?
不知道什么时候开始,数学和编程被捆绑到了一起,数学不好学编程也不行,很多人的意识数学系毕业的学编程一定厉害. 只能说,确实多虑了,至于数学好就编程好更是想多了,两者也是没有绝对的关系,基本的加减乘除已 ...
最新文章
- centos 调整home分区xfs_centos 7.4 磁盘空间不足,扩容根分区 --lvm模式
- 算法模型该如何解释?
- python rest api 测试_如何用Python编写REST API的单元测试
- 巧用EditPlus包含VS2010网站项目资源
- HTML button 和 input type=“button”的区别 / input type=submit 和button的区别
- USACO Section 4
- 表格数字乘以百分比怎么算_EXCEL记住这两个快捷键,1秒种设好数字格式
- Ubuntu16.04 设置环境变量的方法
- 解决miner.start() 返回null
- 敢问北极熊,路在何方?
- 迷人的bug--torch.load
- MySQL CASE WHEN 根据一个表的字段值不同关联查询两张不同的表【子查询】
- 【人脸识别】基于matlab小波不变矩人脸识别【含Matlab源码 1355期】
- java计算机毕业设计商品货物信息管理系统源码+系统+数据库+lw文档+mybatis+运行部署
- 日记 [2006年06月06日] 庞加莱猜想
- Leo的假期学习记录python大数据入门篇(3)
- Unsafe code may only appear if compiling with /unsafe
- Springcloud微服务概述
- 【Designing ML Systems】第 4 章 :训练数据
- APP攻防—— jadx反编译frida编写js
热门文章
- 一、认识Docker
- Windows内网协议学习NTLM篇之NTLM基础介绍
- 宝塔面板部署vue项目到云服务器上(Nginx服务器)
- 决策引擎系统 实时指标计算 风险态势感知系统 风险数据名单体系 欺诈情报体系
- 微信朋友圈发动态功能流程图案例
- 什么是闭包,为什么要用闭包?
- 黑客帝国中代码雨如何实现?用 canvas 轻松实现代码雨炫酷效果!
- javascript 正则 判断电话号码格式
- 连续随机向量的概率密度函数f(x1,...,xn)可以表示为n个相互独立函数g(x1)...g(xn)之积则其各个分量Xi相互独立推导过程中的关于C1...Cn=1的问题
- 【混合模式切图】给美工的备忘录