UTC date
currentmillis

Other tools from the same family
The planning tool

Date-Time Generator
Online time tools customizable via parameters in the URL

Countdown · Egg-timer
More time measurement and productivity tools

Clock · Uptime · Take-a-break

local date

UTC time

local time

UNIX time

 


Convert milliseconds
to UTC time & date:
to local time & date:
  Now 
Date-Time Calendar Milliseconds since Epoch · Julian Date · HTTP format · ISO 8601 · GPS time
Epochs & standards for reference. Convert date / time formats on the fly. Timestamps in milliseconds and other units.
Tutorials System.currentTimeMillis() · What is a Unix Timestamp · What is UTC
Timezones, Unix timestamps in milliseconds & UTC. Java programming examples and explanations.
Sync Service Minutes since Epoch
Free synchronization web service. 3rd party time authority. Used in games, trial software, internet capable controllers, etc.
Standards Client-Centric Time · Persistence of Time
Software engineering standards for time-keeping. Architectural specifications developed for 3rd party reference and compliance.
How to get the current time in milliseconds
Methods to get the time in milliseconds since the UNIX epoch (January 1, 1970 00:00:00 UTC) in various programming languages
ActionScript (new Date()).time
Bash date +%s%N | cut -b1-13
C++ std::chrono::duration_cast<std::chrono::milliseconds>(std::chrono::system_clock::now().time_since_epoch()).count()
C#.NET DateTimeOffset.UtcNow.ToUnixTimeMilliseconds()
Clojure (System/currentTimeMillis)
Dart DateTime.now().millisecondsSinceEpoch
Erlang erlang:system_time(millisecond)
Excel / Google Sheets* = (NOW() - CELL_WITH_TIMEZONE_OFFSET_IN_HOURS/24 - DATE(1970,1,1)) * 86400000
Go / Golang time.Now().UnixMilli()
Hive* unix_timestamp() * 1000
Java / Groovy / Kotlin System.currentTimeMillis()
Javascript Date.now() // or: new Date().getTime()
MySQL* UNIX_TIMESTAMP() * 1000
Objective-C (long long)([[NSDate date] timeIntervalSince1970] * 1000.0)
OCaml (1000.0 *. Unix.gettimeofday ())
Oracle PL/SQL* SELECT (SYSDATE-CAST(TO_TIMESTAMP_TZ('01-01-1970 00:00:00+00:00',
'DD-MM-YYYY HH24:MI:SS TZH:TZM') as date)) * 24 * 60 * 60 * 1000 FROM DUAL
Perl use Time::HiRes qw(gettimeofday); print gettimeofday;
PHP round(microtime(true) * 1000)
PostgreSQL extract(epoch FROM now()) * 1000
PowerShell [DateTimeOffset]::UtcNow.ToUnixTimeMilliseconds()
Python int(round(time.time() * 1000))
Qt QDateTime::currentMSecsSinceEpoch()
R* as.numeric(Sys.time()) * 1000
Ruby (Time.now.to_f * 1000).floor
Rust std::time::SystemTime::now().duration_since(UNIX_EPOCH).expect("error")
Scala val timestamp: Long = System.currentTimeMillis
SQL Server SELECT DATEDIFF_BIG(MILLISECOND,'1970-01-01 00:00:00.000', SYSUTCDATETIME())
SQLite* STRFTIME('%s', 'now') * 1000
Swift* let currentTime = NSDate().timeIntervalSince1970 * 1000
VBScript / ASP offsetInMillis = 60000 *
WScript.Echo DateDiff("s", "01/01/1970 00:00:00", Now()) * 1000 - offsetInMillis + Timer * 1000 mod 1000
Beta / Upcoming Technologies
Suggest languages / frameworks / APIs for getting the UNIX time in milliseconds here
CockroachDB select extract(epoch_nanoseconds from now()) / 1000000
* starred examples might not 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
UNIX epoch ms since January 1, 1970
LDAP / NT epoch ticks since January 1, 1601
NTP epoch ms since January 1, 1900
.NET MinValue ticks since January 1, 0001
Mac OS X ms since January 1, 2001
ISO 8601
* 1 tick = 0.0001 milliseconds = 100 nanoseconds
Genesis & History
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


Mission & Strategy
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 the universe and is a sign of consciousness. 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.


Design Principles
  • "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.

World View
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.


Support the website
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.

The Sandman
Convert local YYYY / MM / DD
and HH : MM : SS
to milliseconds since epoch:
  Now