儒略日公历年月日之间的转换以及儒略日的应用_第1页
儒略日公历年月日之间的转换以及儒略日的应用_第2页
儒略日公历年月日之间的转换以及儒略日的应用_第3页
儒略日公历年月日之间的转换以及儒略日的应用_第4页
儒略日公历年月日之间的转换以及儒略日的应用_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一、 作业要求编写程序实现以下任务:1.1由公历年月日化为儒略日1.2由儒略日转化为公历年月日1.3儒略日的应用 计算两个日期间的间隔天数 计算星期几 计算年积日(DOY) 由年积日计算年月日二、 程序设计2.1 窗体设计2.2 代码实现由公历年月日化为儒略日 /由公历年月日转化为儒略日的函数 public double GLToJD(double Y, double M, double D) double JDtime; JDtime = 367 * Y - Math.Truncate(7 * (Y + Math.Truncate(M + 9) / 12) / 4) + Math.Trunc

2、ate(275 * M / 9) + D + 1721013.5; return JDtime; 由儒略日转化为公历年月日/由儒略日转化为公历年月日的函数 public void JDToGL(double JDtime,out double Y,out double M,out double D) double a, b, c, d, e; a = Math.Truncate(JDtime + 0.5); b = a + 1537; c = Math.Truncate(b - 122.1) / 365.25); d = Math.Truncate(365.25 * c); e = Math.

3、Truncate(b-d)/30.6001); D=b-d-Math.Truncate (30.6001*e)+JDtime+0.5- Convert.ToInt32(JDtime+0.5); M = e - 1 - Math.Truncate(e / 14) * 12; Y = c - 4715 - Math.Truncate(7 + M) / 10); 2.2.3 计算两个日期间的间隔天数private void JGTSbutton_Click(object sender, EventArgs e) double JDtime1, JDtime2,Y1,M1,D1,Y2,M2,D2,JG

4、TS; if (Year31.Text = "" | Month31.Text = "" | Day31.Text = "" | Year31.Text = "" | Month31.Text = "" | Day31.Text = "") MessageBox.Show("输入的日期不能为空!"); else Y1 = double.Parse(Year31.Text); M1 = double.Parse(Month31.Text); D1 = dou

5、ble.Parse(Day31.Text); JDtime1 = GLToJD(Y1, M1, D1); Y2 = double.Parse(Year32.Text); M2 = double.Parse(Month32.Text); D2 = double.Parse(Day32.Text); JDtime2 = GLToJD(Y2, M2, D2); JGTS = Math.Abs(JDtime2 - JDtime1); JG.Text = JGTS.ToString(); 2.2.4 计算星期几private void XQbutton_Click(object sender, Even

6、tArgs e) double JDtime,Y,M,D, XQ; if (Year4.Text = "" | Month4.Text = "" | Day4.Text = "") MessageBox.Show("输入的日期不能为空!"); else Y = double.Parse(Year4.Text); M = double.Parse(Month4.Text); D = double.Parse(Day4.Text); JDtime = GLToJD(Y, M, D); XQ = (JDtime + 1.

7、5) % 7; if (XQ = 0) weekDay.Text = "星期日" if (XQ = 1) weekDay.Text = "星期一" if (XQ = 2) weekDay.Text = "星期二" if (XQ = 3) weekDay.Text = "星期三" if (XQ = 4) weekDay.Text = "星期四" if (XQ = 5) weekDay.Text = "星期五" if (XQ = 6) weekDay.Text = "星

8、期六" 2.2.5 计算年积日private void NJRbutton_Click(object sender, EventArgs e) double Y,M,D,JDtime1,JDtime2; if (Year5.Text = "" | Month5.Text = "" | Day5.Text = "") MessageBox.Show("输入的日期不能为空!"); else Y = double.Parse(Year5.Text); M = double.Parse(Month5.Text);

9、 D = double.Parse(Day5.Text); JDtime1 = GLToJD(Y,M-1,D); JDtime2 = GLToJD(Y,0,0 ); NJR1.Text = (JDtime1-JDtime2).ToString(); 由年积日计算年月日private void NJRTONYRbutton_Click(object sender, EventArgs e) double JDtime, Y1, Y, M, D,NJR; if (Year6.Text = "" | NJR2.Text = "" ) MessageBox.Show("输入的日期不能为空!"); else NJR = double.Parse(NJR2.Text); Y1 = double.Parse(Year6.Text); JDtime = GLToJD(Y1, 0, 0) + NJR+30; JDToGL(JDtime ,out Y,out M,out D)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论