linux – 如何比较两个DateTime字符串并以小时为单位返回差异?
发布时间:2020-12-14 00:23:03 所属栏目:Linux 来源:网络整理
导读:我可以使用以下代码在php中执行此操作: $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会在几小时内给我结果. 如何在bash shell中实现
我可以使用以下代码在php中执行此操作:
$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会在几小时内给我结果. 如何在bash shell中实现上述功能? 解决方法
您可以使用date命令来实现此目的. man date将为您提供更多详细信息.一个bash脚本可能是这些行上的东西(似乎在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" 希望这可以帮助! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |