Unless I misunderstood something, I would just take the elapsed time with millis(), multiply that by some factor, and convert that count into hh:mi:ss form. Take a modulo of the count with day length in milliseconds if not interested in passed days since last restart, or you could reset the local variable after each day. It would work for a month or so and then you would have to take the rollover into account to make it work longer. You could poll the current time as many times as you want or whenever needed and it would be accurate without a need for separate struct to hold counters separately for hh, mi and ss.
I don't know how Mars time works, but I figured now that it would make sense that 1s is just as long on Mars as it is on Earth. It's just that Mars takes a little longer to revolve. So, if you start the clocks at the same time, lets say midnight on Earth. It would show the same time 23:59:59 at the end of the day. On earth, it would reset back 00:00:00 on the next second, but on Mars, it would continue to 24:00:00 and so on. When the Mars clock resets to zero, it would be 00:39:35 on Earth clock. On the next Mars midnight, it would be 01:30 or so on Earth. I'm confused again but never mind that..
The difference in time between seconds on Mars and Earth i
The difference in time between seconds on Mars and Earth is (Earth 1.0274912510416665 second = Mars 1 second)
QuoteThe difference in time between seconds on Mars and Earth iHow can an SI constant not be constant (except in cases of extreme relativistic effects)?