julday.c

来自「Numerical Recipes Software 提供的算法子程序集」· C语言 代码 · 共 28 行

C
28
字号
#include <math.h>
#define IGREG (15+31L*(10+12L*1582))

long julday(mm,id,iyyy)
int id,iyyy,mm;
{
	void nrerror();
	long jul;
	int ja,jy=iyyy,jm;

	if (jy == 0) nrerror("julday: there is no year zero.");
	if (jy < 0) ++jy;
	if (mm > 2) {
		jm=mm+1;
	} else {
		--jy;
		jm=mm+13;
	}
	jul = (long) (floor(365.25*jy)+floor(30.6001*jm)+id+1720995);
	if (id+31L*(mm+12L*iyyy) >= IGREG) {
		ja=(int)(0.01*jy);
		jul += 2-ja+(int) (0.25*ja);
	}
	return jul;
}
#undef IGREG
/* (C) Copr. 1986-92 Numerical Recipes Software . */

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?