首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在FreeBSD中获取以毫秒为单位的时间?

如何在FreeBSD中获取以毫秒为单位的时间?
EN

Stack Overflow用户
提问于 2011-03-03 18:36:24
回答 5查看 6.6K关注 0票数 10

在Linux中,我可以使用以下命令找到以毫秒为单位的当前时间:

代码语言:javascript
复制
date +%s%N

但在FreeBSD上我只能

代码语言:javascript
复制
[13:38 ]#date +%s%N
1299148740N

如何获取以毫秒(或纳秒)为单位的FreeBSD时间?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-03-04 03:40:01

使用gettimeofday(),例如:

代码语言:javascript
复制
#include <stdio.h>
#include <sys/time.h>
int main(void)
{
  struct timeval time_now;
    gettimeofday(&time_now,NULL);
    printf ("%ld secs, %ld usecs\n",time_now.tv_sec,time_now.tv_usec);

    return 0;
}
票数 3
EN

Stack Overflow用户

发布于 2013-02-03 00:44:32

BSD date命令不支持毫秒。如果您想要一个支持毫秒的date,请安装GNU coreutils包。

我在OS上遇到了这个问题,它的date来自于BSD。解决方案是brew install coreutilsln -sf /usr/local/bin/gdate $HOME/bin,并确保$HOME/binPATH中排在第一位。

票数 6
EN

Stack Overflow用户

发布于 2011-03-03 23:48:18

尝试从daemontools使用tai64n

代码语言:javascript
复制
$ echo | tai64n | tai64nlocal
2011-03-03 09:45:37.833010500

$ ps | tai64n | tai64nlocal
2011-03-03 09:52:30.817146500   PID TTY          TIME CMD
2011-03-03 09:52:30.817150500  7154 pts/1    00:00:07 bash
2011-03-03 09:52:30.817157500 20099 pts/1    00:00:00 ps
2011-03-03 09:52:30.817159500 20100 pts/1    00:00:00 tai64n
2011-03-03 09:52:30.817162500 20101 pts/1    00:00:00 tai64nlocal
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5179559

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档