shell输出年月日时分秒 毫秒 微妙怎么写?

shell里输出年月日时分秒的话、这样写,

echo 'date +%Y/%m/%d%t%H:%M:%S%t'

如果想继续输出 毫秒 微妙 该怎么写

如解决,望采纳,代码如下:


#!/bin/sh 
function getTiming(){ 
    start=$1
    end=$2
  
    start_s=`echo $start| cut -d '.'-f 1` 
    start_ns=`echo $start| cut -d '.'-f 2` 
    end_s=`echo $end| cut -d '.'-f 1` 
    end_ns=`echo $end| cut -d '.'-f 2` 
  
    time_micro=$(( (10#$end_s-10#$start_s)*1000000 + (10#$end_ns/1000 - 10#$start_ns/1000) )) 
    time_ms=`expr $time_micro/1000  | bc ` 
  
    echo "$time_micro microseconds"
    echo "$time_ms ms"
} 
  
begin_time=`date +%s.%N` 
sleep10 
end_time=`date +%s.%N` 
  
getTiming $begin_time$end_time

在 Unix-like 系统中, 你可以使用date命令来输出时间, 毫秒和微秒都不能直接通过date命令输出, 需要使用其他工具.


输出毫秒:

  • 可以使用 date +%s%N 命令来输出当前时间的秒数和纳秒数. 然后再通过一些字符串截取操作得到毫秒.

输出微秒:

  • 可以使用类似的方式, 使用命令 date +%s%N 得到当前时间的纳秒, 然后再截取得到微秒.

如果你想在一个单独的命令里同时输出年月日时分秒、毫秒和微秒, 可以使用类似以下命令:

date +%Y/%m/%d%t%H:%M:%S.%3N%t%6N