登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 hillside 于 2013-7-11 08:46 编辑
通用日期格式(公历)与儒略日(julian day)格式的互相转换在涉及日期的气候水文模型中有时会碰到,特别是在国外的模型中。现附上几个网上搜集的程序。
《通用的日期格式与儒略日(julian_day)格式的互相转换》为MATLAB版本,摘要如下:
通用的日期格式与儒略日(julianday)格式的互相转换 李文军 儒略日(Julian day)是指由公元前4713年1月1日,协调世界时中午12时开始所经过的天数,多为天文学家采用,用以作为天文学的单一历法,把不同历法的年表统一起来。 儒略日是一种不用年月的长期纪日法,简写为JD。是由法国纪年学家史迦利日(Joseph Justus Scliger 1540年-1609年)在1583年所创,这名称是为了纪念他的父亲——意大利学者Julius Caesar Scaliger(1484年-1558年)。以儒略日计日是为方便计算年代相隔久远或不同历法的两事件所间隔的日数。 为简化起见,在地震学中用到的Julian 日期有时用来指这样的日期格式,即当前年份和当天位于这一年的第几天的结合。例如,2006 年 1 月 1 日表示为 2006001,而 2008 年 12 月 31 日表示为 2008366。因此,该格式并不等同于 Julian 日历计算的日期,但是,可以极大地方便我们在地震学中的数据处理,在许多地震学数据格式中都用这种简化儒略日表示日期,如sac、seed、miniseed等格式。而在撰写论文的图件中我们又希望恢复成普通的日期格式,因而通用格式和简化儒略日之间的转换是一个经常要做的事。 以下有两个程序,第一个是matlab编写的普通通用日期转换为上述简化儒略日(Julianday)的程序代码,第二个是同样用matlab编写的将儒略日转回普通日期格式的代码:
1、普通通用日期转换为简化儒略日(Julian day)的程序代码
function y=julia(theyear,themonth,theday); %return the julian day (year,day)定义函数julia为转换为julian日期函数,变量y为返回的julian日期,输入变量为theyear/年,themonth/月,theday/日 leapyear=rem(theyear,4); %年对4求余数 ......
气象家园相关帖子:
[程序设计] 雷达基数据中儒略日换算成公历
[求助] 求日期和儒略日的转换 fortran程序
|