Language

Currentmillis

1697343646353
UTC & local timebased on yourdevice/system time
Minute-sync based on server time

Convert milliseconds

UTC Date: 15 Oct 2023
UTC Time: 4:34:58
UNIX Time: 1697346138715
Convert milliseconds
This is a hint text to help user.
To UTC time & date:
This is a hint text to help user.
To local time & date:
This is a hint text to help user.
Convert local YYYY / MM / DD
Local date:
Local time:
Local timezone (UTC+7h):
Convert local YYYY / MM / DD
This is a hint text to help user.
And HH : MM : SS
This is a hint text to help user.
To milliseconds since epoch:
This is a hint text to help user.
Convert milliseconds
UTC date: 15 Oct 2023
UTC time: 4:34:58
UNIX time: 1697346138715
Convert milliseconds
This is a hint text to help user.
To UTC time & date:
This is a hint text to help user.
To local time & date:
This is a hint text to help user.

Convert local YYYY / MM / DD

Local Date:
Local Time:
Local Timezone (UTC+7h):
This is a hint text to help user.
This is a hint text to help user.
Convert local YYYY / MM / DD
And HH : MM : SS
To milliseconds since epoch:
This is a hint text to help user.
Date-Time Calendar
Epochs & standards for reference. Convert date / time formats on the fly. Timestamps in milliseconds and other units.
Milliseconds since Epoch
Julian Date
HTTP format
ISO 8601
Tutorials
Timezones, Unix timestamps in milliseconds & UTC. Java programming examples and explanations
System.currentTimeMillis()
What is a Unix Timestamp
What is UTC
Tutorials
Timezones, Unix timestamps in milliseconds & UTC. Java programming examples and explanations
Sync Service
What is a Unix Timestamp
What is UTC
Standards
Software engineering standards for time-keeping. Architectural specifications developed for 3rd party reference and compliance.
StandardsClient-Centric Time
Persistence of Time
Topic

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",
Topic

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
Topic

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.
Topic

Common Epochs & Date/Time Formats

The most common is of course the UNIX epoch but some systems and services have different epochs
Header Header Header
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

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.

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.org 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.org. 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.org

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 via Noop Mail at this email
Copyright © 2021 - 2018 Currentmillis.org