如何比较两个DateTime字符串并返回小时数差异? (打击壳) [英] How to compare two DateTime strings and return difference in hours? (bash shell)
本文介绍了如何比较两个DateTime字符串并返回小时数差异? (打击壳)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我可以使用以下代码在php中做到这一点:
I can do that in php with the following code:
$dt1 = '2011-11-11 11:11:11';
$t1 = strtotime($dt1);
$dt2 = date('Y-m-d H:00:00');
$t2 = strtotime($dt2);
$tDiff = $t2 - $t1;
$hDiff = round($tDiff/3600);
$hDiff
将在几个小时内给我结果.
$hDiff
will give me the result in hours.
如何在bash shell中实现以上内容?
How do I implement the above in bash shell?
推荐答案
您可以使用date
命令来实现. man date
将为您提供更多详细信息. bash脚本可能在以下几行上显示(似乎可以在Ubuntu 10.04 bash 4.1.5上正常工作):
You could use date
command to achieve this. man date
will provide you with more details. A bash script could be something on these lines (seems to work fine on Ubuntu 10.04 bash 4.1.5):
#!/bin/bash
# Date 1
dt1="2011-11-11 11:11:11"
# Compute the seconds since epoch for date 1
t1=`date --date="$dt1" +%s`
# Date 2 : Current date
dt2=`date +%Y-%m-%d\ %H:%M:%S`
# Compute the seconds since epoch for date 2
t2=`date --date="$dt2" +%s`
# Compute the difference in dates in seconds
let "tDiff=$t2-$t1"
# Compute the approximate hour difference
let "hDiff=$tDiff/3600"
echo "Approx hour diff b/w $dt1 & $dt2 = $hDiff"
希望这会有所帮助!
这篇关于如何比较两个DateTime字符串并返回小时数差异? (打击壳)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文