时间戳成句子

时间:2016-04-07 08:24:36

标签: linux bash

希望有一个工具来记下时间戳并将其变成半句。

示例时间戳:

  

03/25/2016 11:33:16 AM

示例输出:

  

在3/25的上午11:33。

此外,我如何计算2个可能的时间戳。

样品2

./TimeStampTool.sh 03/25/2016 11:32:05 AM 03/25/2016 11:33:16 AM

Sample2输出:

  

在3/25之间的11:32到11:33之间。

到目前为止

脚本

#!/bin/bash <br/>
if [ -n $4 ] <br/>
echo "between '$2 $3' and '$5 $6' on '$1'." <br/>
elif <br/>
echo "at '$2 $3' on '$1'." <br/>
exit 

2 个答案:

答案 0 :(得分:0)

将其管道,并根据您的进一步需求进行编辑:

   | sed -r -e 's/^[^ ]+ /at /g' -e 's/:.. / /g'

正则表达式不是最有效的,但你可以快速调整它。

答案 1 :(得分:0)

标记为不同格式的单行bash脚本

date -d "$1" +'at %T on %m/%d'

“脚本

之间
$ sh tst.sh '03/25/2016 11:32:05 AM' '03/25/2016 11:33:16 AM'
between 11:32:05 and 11:33:16 on on 03/25
$ more tst.sh 

t1=`date -d "$1" +'%T'`
t2=`date -d "$2" +'%T'`

day=`date -d "$1" +'on %m/%d'`

echo "between $t1 and $t2 on $day"

请注意,脚本假定时间戳的天数相同,并且未检测到哪个戳记是第一个