如何比较两个日期时间字符串并返回小时数差异? (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外壳) 的相关文章

  • WSL gprof 报告零次

    我正在尝试在 Windows 10 上的 WSL 中使用 gprof 我没有预料到会遇到任何困难 因为上次我在 Windows 7 上的 Ubuntu 虚拟盒中使用它时它工作得很好 与以前一样遵循来自https www thegeekstu
  • 运行 shell 命令从 Android 应用程序复制文件

    我正在尝试启动一个应用程序 以便将我的应用程序备份到 SD 卡 我跑 Process p Runtime getRuntime exec su Process c Runtime getRuntime exec cp data app co
  • 如何使用应用程序跟踪 SMB 中的文件?

    我用 PHP 构建了一个应用程序 它显示用户主目录中的所有文件 该目录也可以通过 samba 访问 因此您可以从 Windows Mac 和 Linux 中的本机资源管理器访问它 我想给每个文件一个 ID 以便我可以为每个文件分配标签 你会
  • 字符串常量之前的预期标识符

    有一个这样的程序 include
  • 如何重新安装cudnn?

    安装Cudnn 4 0 4后 我发现如果我想运行我下载的代码 我需要更高版本的Cudnn 然后我下载 cudnn 7 0 linux x64 v4 0 prod tgz 并直接按以下顺序安装 sudo cp include cudnn h
  • 从原始字节创建 bmp 文件的可移植函数? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我有一个原始字节数组 我想从这些字节创建一个 bmp 文件 也就是说 我必须填充位图标头结构和其他内容
  • 为什么不使用 sshrc 中设置的 $PATH?

    我正在尝试在 OS X 服务器上通过 ssh 设置 svn 为了做到这一点 我读到我需要一个包装器来设置 umask 并 在我的例子中 设置存储库根 一种快速而肮脏的方法是重命名 usr bin svnserve并将包装器脚本放置在该位置
  • 将条目添加到 Linux 内核 .config 文件

    如何手动将 CONFIG XILINX FIXED DEVTREE ADDR y 行添加到 Linux 配置文件中 当我构建内核时它不断被覆盖 您可以通过以下方式构建make CONFIG XILINX FIXED DEVTREE ADDR
  • 为什么我不能用这个循环从 bash 历史记录中删除多个条目

    这个循环将显示我想要做的事情 但是如果我删除echo从中 它实际上不会删除任何内容 history grep 0 5 0 9 ls cut c1 5 while read id do echo history d id done 我添加了缩
  • Visual Studio 代码中的“Git:gpg 未能签署数据”

    全新安装 Linux 后 我尝试设置我的环境 并且不断收到Git gpg failed to sign the data在本地提交更改时出错 我使用的是 Visual Studio Code 专有版本 而不是开源版本 gitconfig u
  • 在詹金斯管道作业中将变量传递给bash脚本

    我有一个 Jenkins 管道作业 其中我使用名为 setup sh 的 bash 脚本配置我的环境 如下所示 bin bash export ARCH 1 echo architecture ARCH 在 Jenkins 管道脚本中 我使
  • Python select() 行为很奇怪

    我在理解 select select 的行为时遇到一些困难 请考虑以下 Python 程序 def str to hex s def dig n if n gt 9 return chr 65 10 n else return chr 48
  • 使用vim,如何快速刷新正在处理的网页?

    我已经使用 VIM 几个星期了 同时处理各种网络语言 我真的很喜欢它 我发现必须点击或单击浏览器并刷新页面才能看到代码更改的效果 这很麻烦 更烦人的是 因为我使用的是 Virtual Box 而且我倾向于在主机系统上处理 PDF 文件 因此
  • 使用 sysfs 的 Linux 用户空间 GPIO 中断

    我想使用 sysfs 在用户空间上使用 GPIO 中断 我使用这些命令 root at91 gpio109 gt echo 109 gt export root at91 gpio109 gt cd gpio109 root at91 gp
  • 强制 shell 在 SunGrid 引擎中使用 conda 变量中的 python [重复]

    这个问题在这里已经有答案了 我正在尝试在 SunGrid 引擎中执行 python 文件 并且从 anaconda3 环境变量中执行它 我的代码很简单 from future import print function import url
  • 32 位 x86 汇编中堆栈对齐的职责

    我试图清楚地了解谁 调用者或被调用者 负责堆栈对齐 64 位汇编的情况相当清楚 它是由caller 请参阅系统 V AMD64 ABI 第 3 2 2 节栈帧 输入参数区域的末尾应按 16 对齐 32 如果 m256 在堆栈 字节边界上传递
  • 共享库 RPATH 和二进制 RPATH 优先级

    如果共享库链接到二进制文件 并且共享库还依赖于其他库 则共享库的 RPATH 和二进制文件的 RPATH 的优先级 链接器搜索顺序 是什么 二进制文件的 RPATH 是否可以覆盖共享库中的 RPATH 我在共享库RPATH中设置的 ORIG
  • 在Linux上如何找到当前目录的所有直接子目录?

    在Linux上如何找到当前目录的所有直接子目录 最简单的方法是通过编写来利用 shell 通配功能echo 如果你喜欢使用ls 例如要应用格式 排序选项 请使其ls d 解释 斜杠确保仅考虑目录 而不考虑文件 Option d 列出目录本身
  • Bash:将输出传输到后台进程?

    我想将一个进程放入后台 然后多次将数据传递给它 例如 cat The command I want to write into cat pid Getting the process id of the cat process echo h
  • 为什么在setsid()之前fork()

    Why fork before setsid 守护进程 基本上 如果我想将一个进程与其控制终端分离并使其成为进程组领导者 我使用setsid 之前没有分叉就这样做是行不通的 Why 首先 setsid 将使您的进程成为进程组的领导者 但它也

随机推荐

  • 如何将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