# Accurate setting of a C10 clock from within our current reality

A project log for C10

Clock for the 'proper' decimal time system

There are exactly 400 intersection moments (occurring at every 216th standard second) between the standard and C10 times, assuming that the tick is always zero.

Setting a C10 clock in a standard time environment is only possible at any of those 400 moments.

```// this little program calculates and prints the
// intersection points between standard and C10 times
void main(void) {
unsigned long h,m,s;
float t;
for (h=0; h<24; h++)
for (m=0; m<60; m++)
for (s=0; s<60; s++) {
t=((float)(h*3600+m*60+s)/8.64);
if (t<0) t=10000+t;
if (t==ceil(t)) printf("  %02d:%02d:%02d      %02.2f\r\n",h,m,s,t/100);
}
}
```

Proposed model for C10 world time zones

The world is divided in 10 equally wide zones: 0 to 9, each containing 10 intervals.

The border between zone 9 and zone 0 is where the date is changed.

Zones are only positive numbers.

## Discussions

Yann Guidon / YGDES wrote 04/21/2016 at 20:56 point

Why do you use float and not fixed point ?

Are you sure? yes | no

KnivD wrote 04/21/2016 at 21:02 point

This is actually a very reasonable question... It simply hasn't occurred to me that the whole statement which is using the float can be done only with integer values.

Are you sure? yes | no

danjovic wrote 04/21/2016 at 13:52 point

I think that you can use a conventional time RTC  but run the decimal time based on an internal clock. Then at those intersection intervals synchronize your internal counter (in C10 mode)

Are you sure? yes | no

KnivD wrote 04/21/2016 at 21:04 point

Correct, but then there is no guarantee that the accuracy will be equally spread over the full day. But I guess it does make sense to have a second RTC for correction every 216 seconds in order to keep greater accuracy.

Are you sure? yes | no

danjovic wrote 04/21/2016 at 23:20 point

Yep! That's what I meant!

Are you sure? yes | no 