Background
In many scenarios, we need the current time in milliseconds. In this post, we will see various methods to get the time in milliseconds since the UNIX epoch (January 1, 1970 00:00:00 UTC) in various programming languages.
How to get the current time in milliseconds
Following are ways you can get current time in milliseconds for various programming languages -
- ActionScript
- (new Date()).time
- 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)
- Excel / Google Sheets*
- = (NOW() - CELL_WITH_TIMEZONE_OFFSET_IN_HOURS/24 - DATE(1970,1,1)) * 86400000
- Go / Golang
- time.Now().UnixNano() / 1000000
- Hive*
- unix_timestamp() * 1000
- Java / Groovy / Kotlin
- System.currentTimeMillis()
- Javascript
- 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 - TO_DATE('01-01-1970 00:00:00', 'DD-MM-YYYY HH24:MI:SS')) * 24 * 60 * 60 * 1000 FROM DUAL
- Perl
- use Time::HiRes qw(gettimeofday); print gettimeofday;
- PHP
- round(microtime(true) * 1000)
- PostgreSQL
- extract(epoch FROM now()) * 1000Python int(round(time.time() * 1000))
- Qt
- QDateTime::currentMSecsSinceEpoch()
- R*
- as.numeric(Sys.time()) * 1000
- Ruby
- (Time.now.to_f * 1000).floor
- Scala
- val timestamp: Long = System.currentTimeMillis
- SQL Server
- DATEDIFF(ms, '1970-01-01 00:00:00', GETUTCDATE())
- SQLite*
- STRFTIME('%s', 'now') * 1000
- Swift*
- let currentTime = NSDate().timeIntervalSince1970 * 1000
- VBScript / ASP
- offsetInMillis = 60000 * GetTimeZoneOffset()
- WScript.Echo
- DateDiff("s", "01/01/1970 00:00:00", Now()) * 1000 - offsetInMillis + Timer * 1000 mod 1000
Source: https://currentmillis.com/
I recently investigated this as I wanted MicrosoftDateFormat in objective C. We can do this as follows -
- NSString *date = [NSString stringWithFormat:@"/Date(%lld)/",(long long)([currentTag.firstSeenTime timeIntervalSince1970] * 1000.0)];
NOTE: timeIntervalSince1970 gives you the number of seconds whereas Newtonsoft.Json library (C#) gives it in milliseconds so you need multiple by 1000.0 to get milliseconds.
No comments:
Post a Comment