通用的日期格式与儒略日(julian day)格式的互相转换

李文军

中国地震局地震预测研究所北京100036 liwj@http://www.doczj.com/doc/f68d7eabdd3383c4bb4cd2f0.html 儒略日(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编写的普通通用日期转换为上述简化儒略日(Julian day)的程序代码,第二个是同样用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求余数

if leapyear>0

leap=0; %判断余数大于0,不能被4整除,则用leap标记这一年不是

闰年(标记为0)

else

if rem(theyear,100)==0 & rem(theyear,400)~=0

leap=0; %能被4整除但是不能被400整除也不是闰年,则用leap标记

这一年不是闰年

else

leap=1; %其他情况是闰年

end

end

%%%%%%采用平年的日历,按1-12月分月计算julian日期

if themonth==1

juliaday=theday;

end

if themonth==2

juliaday=theday+31;

end

if themonth==3

matlab julian day,通用的日期格式与儒略日(julian day)格式的互相转换相关推荐

  1. 基于matlab的光伏电池通用数学模型,基于MATLAB的光伏电池通用数学模型.doc

    本文由qpadm贡献 pdf文档可能在WAP端浏览体验不佳.建议您优先选择TXT,或下载源文件到本机查看. 第 25 卷第 4 期 2009 年 4 月 电 力 科 学 与 工 程 Vol.25, N ...

  2. Eclipse 修改注释的 date time 日期时间格式,即${date}变量格式

    Eclipse 修改注释的 date time 日期时间格式,即${date}变量格式 找到eclipse安装目录下面的plugins目录,搜索 org.eclipse.text ,找到一个jar包, ...

  3. java中如何把时间封装成类,java-如何在不使用任何不推荐使用的类的情况下将日期从一种格式转换为另一种格式的日期对象?...

    java-如何在不使用任何不推荐使用的类的情况下将日期从一种格式转换为另一种格式的日期对象? 我想将date1格式的日期转换为date2格式的日期对象. SimpleDateFormat simple ...

  4. matlab求解外弹道,基于MATLAB∕Simulink的通用质点外弹道程序设计.pdf

    2017.01 设计与研发 基于 MATLAB/Simulink 的通用质点外弹道程序设计 崔 瀚 (沈阳工学院兵器类虚拟仿真实验教学中心, 辽宁抚顺 ,113122 ) 摘要:本文以弹丸质点外弹道学 ...

  5. matlab计算复活节概率,复活节日期的计算方法

    复活节(主复活日)是一个西方的重要节日,在每年春分月圆之后第一个星期日.基督徒认为,复活节象征着重生与希望,为纪念耶稣基督于公元30到33年之间被钉死在十字架之后第三天复活的日子. 算法 复活节是西方 ...

  6. 如何将solidworks中的机械臂三维装配体导出matlab可以运行或者说可以识别的STEP和XML格式

    首先我们需要有一个机器人的三维装配体文件,一般购买机器人,厂家会提供.当然,对于我们学生来说,不可能去为了一个装配体文件去购买机器人,一般机器人厂家的官网会有装配体文件,这个步骤大家就自己去找吧,不同 ...

  7. Excel将日期和数字一键转为文本格式的操作

    今天小编要和大家分享的是,Excel将日期和数字一键转为文本格式的操作,如下图所示,日期和数字在单元格中是靠右对齐的 (方方格子插件) 1.先看动图演示吧 2.那为了将日期和数字转为文本,我们可以选中 ...

  8. pandas使用strftime函数将dataframe的日期格式数据列按照指定格式(format)转化为日期(时间)字符串数据列

    pandas使用strftime函数将dataframe的日期格式数据列按照指定格式(format)转化为日期(时间)字符串数据列 目录

  9. Matlab:提取或分配日期时间数组的日期时间分量

    Matlab:提取或分配日期时间数组的日期时间分量 访问属性以检索日期时间分量 使用函数检索日期时间分量 获取多个日期时间分量 修改日期时间分量 此示例演示了从现有日期时间数组中提取日期时间分量的两种 ...

最新文章

  1. 【活动报名 | 青源Talk第一期】喻纯 | 自然人机交互的进展与挑战
  2. 比Keras更好用的机器学习“模型包”:0代码上手做模型
  3. 笔记本电脑如何强制关机_长按电源键强制关机会损害笔记本硬件吗?联想:不会但不建议...
  4. mysql主从复制优化_MySql优化之主从复制
  5. java 两个数组交叉_java – 如何交叉两个没有重复的排序整数数组?
  6. android导航使用教程,android BottomNavigationView的简单使用教程
  7. SpringBoot两种定时任务(Spring Schedule 与 Quartz 整合 )实现
  8. Palindrome - URAL - 1297(求回文串)
  9. 机器学习(周志华)知识点总结——第2章 模型评估与选择(后期上传word/PDF)
  10. matlab二极管怎么跟IGBT相连,Simulink的扩展模块库SimPowerSystems
  11. 一般纳税人税额计算_一般纳税人税率公式是什么样的,税额是怎么计算的-企业纳税|华律办事直通车...
  12. 详解JAVA实现支付宝接口编程
  13. python画一个正方形和圆_python用正方形画圆|怎么用matlab画出一个正方形?
  14. 使用scrapy框架爬取腾讯招聘信息
  15. Quartus||仿真图设计
  16. 联发科技嵌入式_联发科技(MTK)嵌入式软件开发一面
  17. 企业拥有PMO(项目管理办公室)的好处
  18. 前端面试丨综合整理中高级前端最新面试题
  19. 如何引入阿里矢量图的具体方法(一首歌的时间即可学会)
  20. SIwave学习记录:电热耦合仿真

热门文章

  1. PCL滤波介绍(2)
  2. 在CentOS 6.9 x86_64的nginx 1.12.2上开启ngx_http_geo_module模块实录
  3. Ubuntu 14.04 64位上安装Adobe reader 9.5.5
  4. 哈希--直接定值法和除留取余法
  5. Prevent Crow's Feet
  6. 在Vue的webpack中结合runder函数
  7. Python学习笔记——全局变量声明
  8. Linux 创建子进程执行任务
  9. Nginx基本配置、性能优化指南
  10. 【BZOJ 4016】[FJOI2014]最短路径树问题