Something

首页 / 文章 / RSS

不同编程语言实现方式:时间戳(Timestamp)

什么是时间戳

时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数,不考虑闰秒(Leap Seconds)。

时间戳的主要目的在于通过一定的技术手段,对数据产生的时间进行认证,从而验证这段数据在产生后是否经过篡改。所以时间戳服务的提供者必须证明服务中使用的时间源是可信的,所提供的时间戳服务是安全的。

获取当前时间戳

Java

// pure java
System.currentTimeMillis() / 1000

// joda java
DateTime.now().getMillis() / 1000

// java >= 8
Instant.now().getEpochSecond()

JavaScript

Math.round(new Date() / 1000)

Shell

date +%s

MySQL

SELECT unix_timestamp(now())