儒略日公历年月日之间的转换以及儒略日的应用.docx

儒略日公历年月日之间的转换以及儒略日的应用.docx

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
儒略日公历年月日之间的转换以及儒略日的应用

作业要求编写程序实现以下任务:1.1由公历年月日化为儒略日1.2由儒略日转化为公历年月日1.3儒略日的应用1.3.1 计算两个日期间的间隔天数1.3.2 计算星期几1.3.3 计算年积日(DOY)1.3.4 由年积日计算年月日程序设计2.1 窗体设计2.2 代码实现2.2.1由公历年月日化为儒略日 //由公历年月日转化为儒略日的函数 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.Truncate(275 * M / 9) + D + 1721013.5; return JDtime; } 2.2.2 由儒略日转化为公历年月日//由儒略日转化为公历年月日的函数 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.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,JGTS; 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 = double.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, EventArgs 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.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.T

文档评论(0)

dashewan + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档