Some how that letter sequence is # of seconds from some point
note that the last two examples
there are 5 seconds apart and 5 letters
| EEJMWEJ | 2018-05-30 03:27:51 |
| EEJMWEM | 2018-05-30 03:27:56 |
these are 1 second apart, and 1 letter
| EEJMWOC | 2018-05-30 03:35:46 |
| EEJMWOD | 2018-05-30 03:35:47 |
Yes, but in other cases (not shown) the difference is 2 seconds but 1 letter.
I agree that this probably represents total seconds, but I don’t know the base date or how to interpret the encoding. Assuming base 26 (they appear to be only uppercase letters) didn’t do the trick.
That may be due to a difference in rounding between the two formats.
If it’s a pure count of seconds, and you assume base 26, then EEIWMNE works out to the value 1287239542. Dividing by 86400, the number of seconds in a day, you get 14898 days, or about 40 years, which would make the starting date 1978 or thereabouts. I suspect that it’s not a pure count of seconds, because 1978 is a strange starting year (except that it’s right around the time that the GPS satellites were launched).
GPS standard is around Jan. 1980, I think, but regardless, the difference in “letters” gets more pronounced the further the dates are. For example, using an arbitrary base date:
BTW, here’s the code I’m using to decode into a value.
dim chars() as string = s.Split( "" )
dim ttl as integer
for i as integer = 0 to chars.Ubound
dim base26 as integer = chars( i ).AscB - AscB( "A" )
dim power as integer = 26 ^ ( chars.Ubound - i )
dim value as integer = base26 * power
ttl = ttl + value
next
The GPS epoch is 0000 UT (midnight) on January 6, 1980. GPS time is not adjusted and therefore is offset from UTC by an integer number of seconds, due to the insertion of leap seconds.