Sorry if the question is written poorly, I'll do my best to explain better here.

For a project I'm working on, I'm defining a new unit of time, based upon the time it takes for a complete revolution of the earth about the sun. That takes somewhere between 31,470,762.377 and 31,556,926.08 seconds, roughly. I want my unit to equal 0.31470 ~ 0.31557 seconds. I'm unsure how to scale this up, however. I do want it to be more consistent across the board, however. So in the new system,

  • 100 s = 1 min
  • 100 min = 1 hr
  • 10 hr = 1 day
  • 100 days = 1 month
  • 10 months = 1 year

That means overall, there will be 100*100*10*100*10 (or 100,000,000) of my seconds in a year. And that matches up, since $100,000,000\text{ my seconds }\times 0.31557\frac{\text{regular seconds}}{\text{my seconds}}$ is equal to $31,557,000$ regular seconds. So theoretically, I should be able to multiply the number of seconds in an interval by 0.31556 to get an approximation of the time in my system. And, because of the nature of my system, the product will be the concatenation of YYYY:M:DD H:MM:SS. Testing this against one year, I get 1,000,000. Therefore, the form of my number is YYY,YMd,dhm.mss.

Okay, so let me scale it up to 01/01/2017, from 01/01/0001. That's exactly 2017 years, so I expect to get 2,017,000,000. But nope, I get 20,072,764,884.7236, or 20072 years (accounting for leap years, I get 20,086,506,537.5267). I'm very confused why this isn't working as I expect it to. I'm sure that I'm missing something obvious, but after mulling for a few hours, I cannot figure it out.

And for the record, I'm not rounding between calculations or changing steps. The only thing I do differently is multiply 31,556,926.08 by 2017.

Any ideas or thoughts?

  • $\begingroup$ $01/01/0001$ to $01/01/2017$ is exactly $2016$ years. By the way, there are various slightly different kind of "years" and you need to choose among them. For example, "sidereal", "tropical", or "anomalistic" years. $\endgroup$ – Somos Oct 26 '17 at 21:40

You have $100,000,000 \tilde{s} \approx 31,557,000 s$ where $\tilde{s}$ denotes your seconds, so $1\tilde{s}\approx 0.31557 s$. Thus to go from $2017$ years to your seconds, you should have

$$2017 y \cdot \frac{31,557,000 s}{1y} \cdot \frac{1\tilde{s}}{0.31557 s} = 201,700,000,000 \tilde{s}$$

which is what you expect. Your mistake is that you need to divide by $0.31557$, not multiply. (And actually, if you measure time in $\tilde{s}$, then the number of your seconds is ...YMddhmmss, no decimal point. So the above corresponds to YYYY=2017, M=0, dd=00, h=0, mm=00, ss=00.)


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.