Copy http://www.convert-unix-time.com/api?timestamp=now
Copy {
"localDate":"Monday 5th March 2018 02:22:11 PM",
"utcDate":"Monday 5th March 2018 02:22:11 PM",
"format":"l jS F Y h:i:s A",
"returnType":"json",
"timestamp":1520259731,
"timezone":"UTC",
"daylightSavingTime":false,
"url":"http:\/\/www.convert-unix-time.com?t=1520259731"
}
Copy var app = express();
// ...
app.use('/time', function(req, res){
res.end("" + new Date().getTime());
});
若您的服務架設在 Firebase Realtime Database 之上,您也可以透過伺服器 Clock Skew 功能,來取得本地端時間與伺服器端時間的時間差,即可推估精準的伺服器時間
Copy // Android
DatabaseReference offsetRef = FirebaseDatabase.getInstance().getReference(".info/serverTimeOffset");
offsetRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot snapshot) {
double offset = snapshot.getValue(Double.class);
double estimatedServerTimeMs = System.currentTimeMillis() + offset;
}
@Override
public void onCancelled(DatabaseError error) {
System.err.println("Listener was cancelled");
}
});
Copy // iOS: Objective-c
FIRDatabaseReference *offsetRef = [[FIRDatabase database] referenceWithPath:@".info/serverTimeOffset"];
[offsetRef observeEventType:FIRDataEventTypeValue withBlock:^(FIRDataSnapshot *snapshot) {
NSTimeInterval offset = [(NSNumber *)snapshot.value doubleValue];
NSTimeInterval estimatedServerTimeMs = [[NSDate date] timeIntervalSince1970] * 1000.0 + offset;
NSLog(@"Estimated server time: %0.3f", estimatedServerTimeMs);
}];
Copy // iOS: Swift
let offsetRef = Database.database().reference(withPath: ".info/serverTimeOffset")
offsetRef.observe(.value, with: { snapshot in
if let offset = snapshot.value as? TimeInterval {
print("Estimated server time in milliseconds: \(Date().timeIntervalSince1970 * 1000 + offset)")
}
})