caltontp.c

来自「网络时间协议NTP 源码 版本v4.2.0b 该源码用于linux平台下」· C语言 代码 · 共 43 行

C
43
字号
/* * caltontp - convert a date to an NTP time */#include <sys/types.h>#include "ntp_types.h"#include "ntp_calendar.h"#include "ntp_stdlib.h"u_longcaltontp(	register const struct calendar *jt	){    u_long ace_days;			     /* absolute Christian Era days */    u_long ntp_days;    int    prior_years;    u_long ntp_time;        /*     * First convert today's date to absolute days past 12/1/1 BC     */    prior_years = jt->year-1;    ace_days = jt->yearday		     /* days this year */	+(DAYSPERYEAR*prior_years)	     /* plus days in previous years */	+(prior_years/4)		     /* plus prior years's leap days */	-(prior_years/100)		     /* minus leapless century years */	+(prior_years/400);		     /* plus leapful Gregorian yrs */    /*     * Subtract out 1/1/1900, the beginning of the NTP epoch     */    ntp_days = ace_days - DAY_NTP_STARTS;    /*     * Do the obvious:     */    ntp_time = 	ntp_days*SECSPERDAY+SECSPERMIN*(MINSPERHR*jt->hour + jt->minute);    return ntp_time;}

⌨️ 快捷键说明

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