Suggest languages / frameworks / APIs for getting the UNIX time in milliseconds here
* starred examples are known not to reach millisecond accuracy but the value is multiplied to reach millisecond range
Time & Space
Scientific facts as well as controversies surrounding time keeping
Abbreviation
Millis is the popular abbreviation for milliseconds. The formal one would be ms. Another one is millisecs but this is very rare.
Leap seconds
Leap seconds are one-second adjustments added to the UTC time to synchronize it with solar time. Leap seconds tend to cause trouble with software. For example, on June 30, 2012 you had the time 23:59:60. Google uses a technique called leap smear on its servers, which, instead of adding an extra second, extend seconds prior to the end of the day by a few milliseconds each so that the day will last 1000 milliseconds longer.
Theory of Relativity
The Special and General theories of Relativity are taken into account by GPS receivers (found in planes, cars and mobile phones) and Earth-orbiting satellites to synchronize their time within a 20-30 nanosecond range. This happens because satellites are in motion relative to the planet so the observers on the planet will perceive time is passing more slowly for the satellites.
UTC vs. GMT simple take
UTC stands for Coordinated Universal Time. GMT stands for Greenwich Mean Time. UTC is a universal time keeping standard by itself. A time expressed in UTC is essentially the time on the whole planet. A time expressed in GMT is the time in the timezone of the Greenwich meridian. In current computer science problems (and probably most scientific ones) UTC and GMT expressed in absolute value happen to have identical values so they have been used interchangeably.
UTC vs. GMT complex take
Literature and history are a bit ambiguous. UTC essentially appeared in 1960, GMT being the âmain thingâ until then. Unlike GMT which is based on solar time and originally calculated a second as a fraction of the time it takes for the Earth to make a full rotation around its axis, UTC calculates a second as âthe duration of 9192631770 periods of the radiation corresponding to the transition between the two hyperfine levels of the ground state of the cesium 133 atomâ. UTCâs second is far more precise than GMT's original second. In 1972 leap seconds were introduced to synchronize UTC time with solar time. These 2 turning points (different definition of a second and the introduction of leap seconds) âforcedâ GMT to be the same as UTC based on what seemed a gradual, tacit convention. If you were to calculate true GMT today i would see it based on its original definition of 1 second = 1/86400 days and this would for sure return a different absolute value than what UTC gives us. From this point of view the name âGMTâ seems deprecated, but kept around for backward compatibility, traditional timezone based representation of time and sometimes legal reasons.
UTC vs. UT1
UT1 is the most precise form of universal time. It's computed using observations of quasars in outer space (which make up the International Celestial Reference Frame) and of distances between Earth and its satellites - natural (Moon) and artificial. UTC only tries to approximate UT1: it is kept within 0.9 seconds of UT1 by employing leap seconds.
26 hour timezone span
Intuition tells us timezones should probably span from UTC+0 to UTC-12 to the west of the Greenwhich Meridian and from UTC+0 to UTC+12 to the east. In fact they can reach UTC+14. UTC+14 is Christmas Island's (Kiribati) time all year round and Samoa's daylight saving time during southern hemisphere summer. Therefore the maximum difference between 2 local times on Earth is 26 hours.
Common Epochs & Date/Time Formats
the most common is of course the UNIX epoch but some systems and services have different epochs
This site provides the current time in milliseconds elapsed since the UNIX epoch (Jan 1, 1970) as well as in other common formats including local / UTC time comparisons. You can also convert milliseconds to date & time and the other way around. More importantly, this site offers a time navigation service for human users and a time authority service for programmatic usage.
The "current millis" story started with me debugging my Android application. In Android you tell an alarm when to come up by passing a simple number. This number has to be so large that it can encompass all the time passed since midnight January 1st, 1970 but sufficiently small that it can fit into existing data structures and keep going enough time in the future. Precision: millisecond. Why 1970 you ask? It's just a convention: it was the roundest most recent year to the point in time people actually started thinking about a universal measure of time.
As i was debugging i needed something to tell me what the current time in ms is. Since a program was already running, rather than just inspecting Java's System.currentTimeMillis() or running a program that shows it to me, i figured i'll open a web page that shows it. There was nothing like it in the search results. The funniest result i saw was telling me the local time in Millis, Massachusetts. I couldn't believe there isn't a site that does such a simple thing. I wrote currentmillis.com and hit enter. My ISP's page popped up telling me there is no such page. I then checked with my hosting provider and it turned out this incredibly simple domain was available. So i bought it and turned it into a single-serving website which shows, you guessed it, the current time in ms.
In my opinion this is the most reasonably precise measuring standard ever. And timing isn't the easiest problem to solve, especially in a world where GPS has to take into account Einstein's theory of relativity and leap seconds have to be added from time to time to keep UTC (Coordinated Universal Time) in sync with solar time. The irony is i probably would have never found out that the last second of June 30, 2012 was 23:59:60 if i wouldn't have bought currentmillis.com. It's strange that not so long ago on the cosmic scale, John Henry Belville and Ruth Belville were "selling" time to customers by setting a master watch to Greenwich Mean Time and then allowing others to adjust their own watches according to the Belville master watch. At one point there was even a telegraphic time signal service, developed by the Standard Time Company. The internet has changed the propagation of information (including time) quite a lot, but the basic principle still stands: recognized 3rd party authorities (i.e. time providers), a principle which stands in many types of protocols, not just time-based.
My goal for this website is that programmers all around the world know: whenever you want to see the current UTC time or the current time in ms (or in other common formats), you can do so easily at CurrentMillis.com
The mission of the CurrentMillis.com family of websites & services is to synchronize humans and machines around the world.
This mission statement has a strong foundation in metaphysics: Synchronization is a common denominator for the forces that govern consciousness and the universe. For example: particles in stars and planets are synchronized as they spin around their own axii and along other trajectories, just as solar systems are synchronized in their motion around the center of the galaxy; cells in every living thing are synchronized in terms of function just as they are synchronized against day / night cycles. I consider synchronization an all-encompassing phenomenon driven by âconscious featuresâ from large to small through spatial notions like gravity / attraction and informational notions like communication / intent.
Humans have expanded in spatial & informational terms greatly in the last centuries to the point that travel and access to information is available around the planet and even beyond, through proven technologies.
However, âtemporal navigationâ references used by the general public seem to remain arbitrary, ambiguous and limited in terms of device use & engineering.
In general use, i made it my purpose to help people and machines synchronize, by offering a family of free browser / HTTP-based services with lightweight protocols.
Beyond general use, there is also a need to synchronize the âsynchronizersâ at the software engineering level, by offering straight-forward browser-based time conversion tools and by crystallizing time engineering standards.
But more importantly, the aim is to connect time engineering knowledge with time conversion and time navigation by using a functional red line that defines a strategy, such as it is, for time-keeping in the future.
"Explicit Persistence"
The ability to use software as a service (without heavy-weight protocols such as authentication) is amazing. Avoiding server-side state (such as sessions) or client-side state (such as cookies) gives us an incredible opportunity to persist data in something which is shared between humans and processed by machines seamlessly: a URL. In addition, "persistence in the URL" is transparent to the user and allows not only full customization but high-speed customization as well.
"Practical Moonshooting"
A continuous succession of development / evaluation iterations for several features at once, to filter out experiments until those features that are useful remain. They are ambitious and ingenious steps, but not over-reaching, so that the next principle, that of Consistency, can be applied to link services together into a family.
Consistency
To think of consistency as the ability to be remembered is empowering. When you expect a button to be there and it actually is: this is a ticket to a nice ride. When it looks and feels the same across a family of services, you instantly recognize it and you know what it does. This allows you, as a user, to think ahead and use your brain-power closer to its potential.
The mentioned strategy and design principles emerge from a certain world view of everything and everyone being subject to order and entropy. One of the most relevant ideas that arise from such a model, beside the cosmological and scientific implications, is the fact that we all originate from (and are subject to) the same universal phenomena and that, in the end, we are collectively responsible for the resources we share - such as the Earth. Thus we have to elevate our consciousness so that it's capable not only of individual or local but also of collective and global perception of problems and solutions.
If you would like to support, you can always send feedback and, if you'd like to do more, feel free to send a thank you note to this email or via this wishlist.