Accurate setting of a C10 clock from within our current reality

A project log for C10

Clock for the 'proper' decimal time system

knvdKn/vD 04/21/2016 at 09:385 Comments

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++) {
        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.


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

Kn/vD 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

Kn/vD 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