Léo*_* 준영 219 unix unix-timestamp
相关问题是"Datetime To Unix timestamp",但这个问题比较笼统.
我需要Unix时间戳来解决我的最后一个问题.我的兴趣是Python,Ruby和Haskell,但欢迎其他方法.
生成Unix时间戳的最简单方法是什么?
小智 427
在Linux或MacOS中,您可以使用:
date +%s
Run Code Online (Sandbox Code Playgroud)
哪里
+%s,自1970-01-01 00:00:00 UTC以来的秒数.(GNU Coreutils 8.24日期手册)示例输出现在为1454000043.
Col*_* Su 20
Bash 5 中有一个新变量:
echo $EPOCHSECONDS
Run Code Online (Sandbox Code Playgroud)
或者,如果您想要更高的精度(以微秒为单位):
echo $EPOCHREALTIME
Run Code Online (Sandbox Code Playgroud)
Ste*_*lla 18
在python中添加以下行以获取时间戳:
>>> import time
>>> time.time()
1335906993.995389
>>> int(time.time())
1335906993
Run Code Online (Sandbox Code Playgroud)
Hut*_*ut8 16
curl icanhazepoch.com
基本上它是unix时间戳即服务(UTaaS)
小智 8
unix'date'命令令人惊讶地多才多艺.
date -j -f "%a %b %d %T %Z %Y" "`date`" "+%s"
获取输出date,它将采用-f定义的格式,然后将其打印出来(-j表示不要尝试设置日期),格式为+%s,自纪元以来的秒数.
首先,Unix'纪元'或零时间是1970-01-01 00:00:00Z(即1970年1月1日午夜在Zulu或GMT或UTC时区).Unix时间戳是自那时起的秒数 - 不考虑闰秒.
在Perl中生成当前时间非常简单:
perl -e 'print time, "\n"'
Run Code Online (Sandbox Code Playgroud)
生成对应于给定日期/时间值的时间相当简单.从逻辑上讲,您使用strptime()POSIX中的功能.但是,Perl POSIX :: strptime模块(与POSIX模块分开)具有签名:
($sec, $min, $hour, $mday, $mon, $year, $wday, $yday) =
POSIX::strptime("string", "Format");
Run Code Online (Sandbox Code Playgroud)
mktimePOSIX模块中的函数具有签名:
mktime(sec, min, hour, mday, mon, year, wday = 0, yday = 0, isdst = 0)
Run Code Online (Sandbox Code Playgroud)
因此,如果您知道数据的格式,可以编写一个变体:
perl -MPOSIX -MPOSIX::strptime -e \
'print mktime(POSIX::strptime("2009-07-30 04:30", "%Y-%m-%d %H:%M")), "\n"'
Run Code Online (Sandbox Code Playgroud)
$ date +%s.%N
Run Code Online (Sandbox Code Playgroud)
where(GNU Coreutils 8.24日期手册)
+%s,自1970-01-01 00:00:00 UTC以来的秒数+%N,纳秒(000000000..999999999)自纪元以来 现在输出示例1454000043.704350695.我注意到BSD手册date没有包含关于旗帜的精确解释+%s.
在哈斯克尔
import Data.Time.Clock.POSIX
main :: IO ()
main = print . floor =<< getPOSIXTime
Run Code Online (Sandbox Code Playgroud)
在围棋中
import "time"
t := time.Unix()
Run Code Online (Sandbox Code Playgroud)
在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);
Run Code Online (Sandbox Code Playgroud)
在斯威夫特
NSDate().timeIntervalSince1970 // or Date().timeIntervalSince1970
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
244127 次 |
| 最近记录: |