如何比较两个日期时间字符串并返回小时数差异? (bash外壳)

2023-11-30

我可以使用以下代码在 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"

希望这可以帮助!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何比较两个日期时间字符串并返回小时数差异? (bash外壳) 的相关文章

随机推荐

  • 如何将Windows SDK添加到Eclipse C工具中?

    我为 Java 开发人员使用 Eclipse Juno 并且想向其中添加 C C 功能 我下载了 Windows SDK 并尝试创建 Hello World C 项目 但 Eclipse 似乎看不到 Windows SDK 所以我无法编译我
  • 如何渲染重复的 React 元素?

    我已经编写了一些代码来在 ReactJS 中渲染重复元素 但我讨厌它有多难看 render function var titles this props titles map function title return th title t
  • Android Studio 3.0 任务执行失败:无法合并 dex

    android studio 在构建执行时遇到构建错误 如下所示 错误 任务 app transformDexArchiveWithExternalLibsDexMergerForDebug 执行失败 java lang RuntimeEx
  • iphone - 清理 Localized.strings

    我有一个应用程序经历了一次大手术 很多内容都被修改了 该应用程序过去和现在都已本地化为多种语言 我确信 localized strings 文件中的某些字符串不再被使用 其中至少有20 有没有办法检查应用程序仍在使用哪些字符串 以便我可以从
  • 如何将 REST API 限制为用户特定的内容

    我使用 PassportJS 在 MEAN 堆栈上设置了相当简单的 API 我在设置没有安全性 获取一般数据 和用户身份验证 安全信息 的路由时没有任何问题 但是 我似乎找不到授予基于用户的访问权限的最佳实践 例如 api users id
  • 如何防止提供扩展方法的公共类出现在 Intellisense 中?

    有没有办法从 Intellisense 中 隐藏 类的名称 该类的唯一目的是提供扩展方法 我想从 Intellisense 列表中删除类名 但需要该类的扩展方法可以通过 Intellisense 以通常的方式供外部程序集使用 我希望您可以使
  • 模板中的模板:为什么嵌套模板参数列表中的“`>>”应该是“> >””

    我知道当我们在另一个模板中使用模板时 我们应该这样写 vector
  • 使用 CSS 定位某些单词?

    这是一个理论问题 但我想知道这是否可能 所以如果你有一个 div 包含一些内容 例如 div 100 00 BUY div 那么您可以定位 100 00 英镑 而不定位其余部分吗 那么你可以增加 100 00 英镑的字体大小吗 不 如果不将
  • 如何使用 Angular 2 在下拉列表中仅显示唯一值

    我有一个 JSON 数据 我使用 ngFor 将 accountNumber 显示到下拉列表中 由于 JSON 数据中有多个条目具有相同的帐号 因此我在下拉列表中多次看到相同的帐号 在此输入图像描述 html div class btn b
  • Phonegap / Cordova - 构建 Apk

    有谁知道如何生成apk吗 我正在尝试使用 Phonegap Cordova CLI 构建我的应用程序的 apk 我需要一些有关它的教程或信息 要检查是否已安装构建 APK 所需的所有内容 请首先运行以下命令 cordova requirem
  • getjson jquery 解析数组

    得到简化的阵列工作见下文 后续要解析的复杂数组请参阅here TLDR 想要从数组中获取每个标题并将其插入到 div 中 而不知道使用 Jquery getJSON 中的内容 Edit 数据来自一个软件 该软件每隔几秒就使用新数据输出 JS
  • 在 view-file.blade.php 中找不到类“Form”

    我正在尝试在视图文件中渲染文本输入字段 我不断收到此错误 在 view file blade php 中找不到类 form 模板 extends layouts app section content h1 New h1 Form open
  • bootstrap jquery show.bs.modal 事件不会触发

    我正在使用 bootstrap 3 文档中的模态示例 模态有效 但是我需要在 show bs modal 事件触发时访问它 现在我只是在尝试 myModal on show bs modal function alert hi 什么也没发生
  • 从 JS 中被拒绝的 Promise 中恢复

    我 大部分 使用本机承诺并尝试从错误中恢复并继续执行承诺链 实际上 我正在这样做 REST 查询以查看 ID 是否存在 请注意 这会返回一个延迟的 jquery then 成功表示ID存在 失败则停止 失败说明ID不存在 继续创建ID th
  • C#:C# 中是否有 Java 中的 TimerTask 的等效类?

    我正在寻找 C 中 Java 中是否有等效的 TimerTask 类 这里引用了Java的TimerTask http download oracle com javase 1 4 2 docs api java util TimerTas
  • CUDA纹理线性过滤

    在 CUDA C 编程指南第 5 版附录 E 2 线性滤波 中 指出 在这种过滤模式下 仅适用于浮点 纹理 纹理获取返回的值是 粗体部分让我感到困惑 做floating point仅指纹素类型 还是也指返回类型 例如 我声明了 3 个纹理
  • 如何使用谷歌翻译翻译整个网站

    我目前正在使用以下内容来翻译网页 http translate google com about intl en ALL tour html professional 问题是 当我将 Google 网站上生成的代码片段放到我的网页上时 用户
  • 创建可能案例的简单方法

    我有数据列表 例如 a 1 2 3 4 b a b c d e c 001 002 003 我想创建另一个新的列表 该列表由 a b c 的所有可能情况混合而成 如下所示 d 1a001 1a002 1a003 4e003 是否有任何模块或
  • 是否总是需要条件注释?

    在创建了一些网络应用程序之后 我真的认为一段时间后处理条件注释就不那么有趣了 对于这个问题有什么计划吗 处理不同的浏览器会更复杂还是更容易 某种形式的功能嗅探总是需要的 但希望将来这可以更多地基于更良性的脚本化对象嗅探形式 从而实现渐进增强
  • 如何比较两个日期时间字符串并返回小时数差异? (bash外壳)

    我可以使用以下代码在 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