mess822x 1.23
mess822x
Loading...
Searching...
No Matches
caltime_utc.c
Go to the documentation of this file.
1#include "tai.h"
2#include "leapsecs.h"
3#include "caldate.h"
4#include "caltime.h"
5
6/* XXX: breaks tai encapsulation */
7
8void caltime_utc(struct caltime *ct,struct tai *t,int *pwday,int *pyday)
9{
10 struct tai t2 = *t;
11 uint64 u;
12 int leap;
13 long s;
14
15 /* XXX: check for overfow? */
16
17 leap = leapsecs_sub(&t2);
18 u = t2.x;
19
20 u += 58486;
21 s = u % 86400ULL;
22
23 ct->second = (s % 60) + leap; s /= 60;
24 ct->minute = s % 60; s /= 60;
25 ct->hour = s;
26
27 u /= 86400ULL;
28 caldate_frommjd(&ct->date,/*XXX*/(long) (u - 53375995543064ULL),pwday,pyday);
29
30 ct->offset = 0;
31}
mess822_time t
Definition: 822date.c:19
int leapsecs_sub(struct tai *)
Definition: leapsecs_sub.c:9
void caldate_frommjd(struct caldate *cd, long day, int *pwday, int *pyday)
Definition: caldate_fmjd.c:3
void caltime_utc(struct caltime *ct, struct tai *t, int *pwday, int *pyday)
Definition: caltime_utc.c:8
Definition: caltime.h:7
int hour
Definition: caltime.h:9
struct caldate date
Definition: caltime.h:8
int minute
Definition: caltime.h:10
int second
Definition: caltime.h:11
long offset
Definition: caltime.h:12