相关的问题是“Datetime到Unix时间戳”,但这个问题更一般。

我需要Unix时间戳来解决最后一个问题。我的兴趣是Python、Ruby和Haskell,但也欢迎其他方法。

生成Unix时间戳最简单的方法是什么?


当前回答

在Haskell

import Data.Time.Clock.POSIX

main :: IO ()
main = print . floor =<< getPOSIXTime

在去

import "time"
t := time.Unix()

in C

time(); // in time.h POSIX

// for Windows time.h
#define UNIXTIME(result)   time_t localtime; time(&localtime); struct tm* utctime = gmtime(&localtime); result = mktime(utctime);

在斯威夫特

NSDate().timeIntervalSince1970 // or Date().timeIntervalSince1970

其他回答

在Linux或MacOS中,您可以使用:

date +%s

在哪里

+%s, seconds since 1970-01-01 00:00:00 UTC。(GNU Coreutils 8.24日期手册)

示例现在输出1454000043。

让我们试试JavaScript:

var t = Math.floor((new Date().getTime()) / 1000);

...或者更好的静态方法:

var t = Math.floor(Date.now() / 1000);

在这两种情况下,我都用1000从秒到毫秒,我使用数学。只表示已经过的整秒(与舍入相比,舍入可能表示尚未经过的整秒)。

curl icanhazepoch.com

基本上它是unix时间戳即服务(UTaaS)

在python中添加以下代码行来获取时间戳:

>>> import time
>>> time.time()
1335906993.995389
>>> int(time.time())
1335906993

在Perl中:

>> time
=> 1335552733