VFP 6.0中Datetime在内存中的格式

从VFP文件读出Datetime的数据为8位数据
例如读出格式为  
7E 76 25 00 00 00 00 00
对应的时间是
09/13/09 00 12:00:00 AM

vfp 中的日期部分采用儒略计日(注意:不是儒略历),儒略计日常用于天文计日,是从公元前4713 年1月1日开始计数的,vfp 中当前日期的儒略计日为 sys(11,date()),例如今天就是 2455148,将这个数字转换成 16 进制表示就是 6C 76 25 00,用 vfp 转换的代码是:

? STRCONV(BINTOC(VAL(SYS(11,DATE())),'4rs'),15)

上面的函数需要 Vfp9 才能识别,用 vfp6 的话要你自己写函数来转换

儒略日的计算

  a=[(14-month)/12]

  y=year+4800-a

  m=month+12a-3

  则格里历日期的中午时候

  JDN=day+[(153m+2)/5]+365y+[y/4]-[y/100]+[y/400]-32045

  若日期为儒略历,则

  JDN=day+[(153m+2)/5]+365y+[y/4]-32083

简化儒略日

  由于儒略日数字位数太多,国际天文学联合会于1973年采用简化儒略日(MJD),其定义为 MJD = JD - 2400000.5。MJD相应的起点是1858年11月17日世界时0时。 例如1979年10月1日零时儒略日数为2,444,147.5。天文年历附表载有各年每月零日世界时12时的儒略日数。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值