来自 solaris 命令行的毫秒数

and*_*bd1 3 solaris

这个 gnu date 命令让我以这种方式获得毫秒:

date +%M:%S.%N;
Run Code Online (Sandbox Code Playgroud)

但是这个命令在solaris上不起作用......有什么想法吗?

jll*_*gre 5

这个“shell 脚本”应该显示毫秒:

#!/bin/ksh
if [ ! -x /var/tmp/time_ms ]
then
    cat > /tmp/time_ms.c << %
    #include <sys/time.h>
    main()
    {
        struct timeval tv;
        gettimeofday(&tv,(void*)0);
        printf("%d.%d\n",tv.tv_sec,tv.tv_usec/1000);
    }
%
    PATH=$PATH:/usr/sfw gcc /tmp/time_ms.c -o /var/tmp/time_ms
fi
/var/tmp/time_ms
Run Code Online (Sandbox Code Playgroud)

当然,您可以在 PATH 中重新定位 time_ms 并在第一次运行后直接调用它。这将提供比 gnu date 或任何 perl/任何脚本更快的解决方案。