将秒转换为人类可读的持续时间

2024-03-20

我如何最好地将 90060(秒)转换为字符串“25h 1m”?

目前我正在 SQL 中执行此操作:

SELECT 
  IF(
    HOUR(
      sec_to_time(
        sum(time_to_sec(task_records.time_spent))
      )
    ) > 0, 
    CONCAT(
      HOUR(sec_to_time(sum(time_to_sec(task_records.time_spent)))), 
      'h ', 
      MINUTE(sec_to_time(sum(time_to_sec(task_records.time_spent)))),
      'm'
    ), 
    CONCAT(
      MINUTE(sec_to_time(sum(time_to_sec(task_records.time_spent)))),
      'm'
    )
  ) as time
FROM myTable;

但我不确定这是最方便的方法:-)

我愿意接受关于在 SQL(与我已经做的不同)或 PHP 中执行此操作的建议。

EDIT:

所需字符串的示例:“5m”、“40m”、“1h 35m”、“45h”、“46h 12m”。


TIME_FORMAT(SEC_TO_TIME(task_records.time_spent),'%Hh %im')

文档是你的朋友:

  • http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html

根据评论:

DROP FUNCTION IF EXISTS GET_HOUR_MINUTES;
CREATE FUNCTION GET_HOUR_MINUTES(seconds INT)
  RETURNS VARCHAR(16)

  BEGIN
  DECLARE result VARCHAR(16);
  IF seconds >= 3600 THEN SET result = TIME_FORMAT(SEC_TO_TIME(seconds),'%kh %lm');
  ELSE SET result = TIME_FORMAT(SEC_TO_TIME(seconds),'%lm');
  RETURN result;
  END

DELIMETER ;

Usage:

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

将秒转换为人类可读的持续时间 的相关文章

  • 当数据表输入来自服务器的 JSON 数据时,更改 Google 图表栏颜色

    我一直在努力使用谷歌图表 API 我在 SO 上发现了这个出色的例子PHP MySQL Google Chart JSON 完整示例 https stackoverflow com questions 12994282 php mysql
  • Mysql - Mysql2::错误:字符串值不正确:

    所以我建造了一个刮刀并拉动一些物体 问题是有些是外语 它使 mysql 数据库有点崩溃 这是我得到的错误 知道我能用这个做什么吗 谢谢 Mysql2 错误 列的字符串值不正确 xC5 x8Dga 第 1 行的 描述 插入sammiches
  • Java 从 SQL 数组获取 ResultSet 失败

    我试图从数据库中检索电子邮件地址 但没有成功 我的代码如下 Main System out println PortfolioData getEmails 58 So Far Returning null 投资组合数据 public sta
  • MYSQL中收盘价的简单移动平均线计算和更新表

    我可以使用一些帮助 最好是虚拟指南 来更新下表 CREATE TABLE SYMBOL day date NOT NULL open decimal 8 3 DEFAULT NULL high decimal 8 3 DEFAULT NUL
  • C#:SQL 查询生成器类

    在哪里可以找到好的 SQL 查询构建器类 我只需要一个简单的类来构建 SQL 字符串 仅此而已 我需要它用于 C 和 MySql 我真的不需要像 Linq 或 NHibernate 这样的东西 谢谢 由于 Google 将我引导至此页面 我
  • PHP 选择后立即删除

    我有一个 PHP 服务器脚本 它从 MySQL 数据库中选择一些数据 一旦我将 mysql query 和 mysql fetch assoc 的结果存储在我自己的局部变量中 我就想删除我刚刚选择的行 这种方法的问题在于 PHP 似乎对我的
  • ActiveRecord3死锁重试

    Rails 3 或 ActiveRecord 3 是否有任何插件可以复制旧版本死锁重试 http agilewebdevelopment com plugins deadlock retry插入 或者 该插件仍然适用于 Rails 3 吗
  • 显示表 FULLTEXT 索引列

    我希望运行一个查询 该查询将返回表中全文索引的列列表 该表采用 MyISAM 格式 我将使用 php 来构建查询 理想情况下 我会运行查询 它会返回信息 以便我可以构造一个以逗号分隔的列字符串 例如 名 姓 电子邮箱 这在 MySQL 中可
  • 使 pdo::query 静态

    当我运行下面的代码时出现此错误 我通常使用 msql 函数 但我尝试使用 PDO 代替 怎么了 致命错误 第 14 行无法静态调用非静态方法 PDO query
  • 为什么 MySQL 创建带有 _seq 后缀的表?

    我创建了一个 InnoDB 表 名为foo在 MySQL 中 一旦我对表执行插入操作 我就会看到另一个表foo seq被建造 如果我删除自动生成的表 它会在下一次插入后出现 是什么原因造成的 听起来像是正在创建一个序列 您是否有自动生成的主
  • java mysql 准备好的语句

    我正在尝试使用 java 向数据库中进行简单的插入 它告诉我我的 sql 语法已关闭 但是 当我复制打印出来的字符串并将其放入 phpmyadmin 中的 sql 命令中时 它会正确执行该命令 并且我似乎无法弄清楚 java 中的字符串查询
  • Jquery 两个字段的时间差(以小时为单位)

    我的表单中有两个字段 用户可以在其中选择输入时间 start time end time 我想在更改这些字段时重新计算另一个字段的值 我想做的是获取两次之间的小时数 例如 如果我的开始时间为 5 30 结束时间为 7 50 我想将结果 2
  • 如何使用 MySQL 的 LOAD DATA LOCAL INFILE 在导入 CSV 时将字符串日期更改为 MySQL 日期格式

    我正在使用 MySQL 的 LOAD DATA LOCAL INFILE SQL 语句将数据从 CSV 文件加载到现有数据库表中 下面是一个 SQL 语句示例 LOAD DATA LOCAL INFILE file csv INTO TAB
  • 如何在 Laravel 查询中使用多个 OR,AND 条件

    我需要 Laravel 查询帮助 我的自定义查询 返回正确结果 Select FROM events WHERE status 0 AND type public or type private 如何写这个查询Laravel Event w
  • Mysql 检索所有有限制的行

    我想检索特定用户的所有行 限制为 0 x 所以我只是想问是否有任何方法可以检索 mysql 中的所有行 而不调用返回 x 的 count id 的方法 而不重载现有函数 该函数在查询中根本没有限制 与我们的 string Relace 功能
  • 为什么我的 if 语句没有按我预期的方式工作?

    我正在尝试实现以下目标 我向我的 SQL 数据库询问使用SELECT FROM subjects 这样做之后我要求使用数组mysqli fetch assoc 在那之前一切都很好 现在的问题是 当我尝试在每个循环中修改 genero 的值
  • 无法通过套接字“/var/lib/mysql/mysql.sock”连接到本地 MySQL 服务器 (2)

    当我尝试连接 mysql 时出现以下错误 Can t connect to local MySQL server through socket var lib mysql mysql sock 2 这个错误有解决办法吗 其背后的原因可能是什
  • MySQL PHP邮政编码比较具体距离

    我试图找出比较一个邮政编码 用户提供的 和一大堆其他邮政编码 现在大约有 200 个邮政编码 之间的距离的最有效方法 相对于加载时间 但它会随着时间的推移而增加 我不需要任何精确的东西 只是在球场上 我下载了整个美国的邮政编码 csv 文件
  • Mysql 中 UNION 子句的替代方案

    我有两张桌子 表 a 表 b table a ID 1 2 3 4 5 7 table b ID 2 3 4 5 6 我必须得到这样的输出而无需UNION命令 ID 1 2 3 4 5 6 7 注意 我有一个联合解决方案 select fr
  • 将古吉拉特语文本插入 MySQL 表会产生垃圾字符和不可读的文本

    我有三个 MySQL 表 我正在向其中插入古吉拉特语内容 当我插入两个表时 它们插入得很好并且可读 但在一个表中 它显示垃圾字符 不可读的文本 我怎样才能解决这个问题 MySQL 有每个表的字符集设置 http dev mysql com

随机推荐

  • UITableView 自动尺寸无法正常工作

    我有一个表格视图 其中填充了来自 Firebase 的数据 但是 当使用自动尺寸调整表格视图大小时 某些文本会被截断 这是我的故事板 约束设置为顶部 底部 右侧和左侧 当没有大量文本时 它工作正常 如此处所示 但是 当我用大量文本填充单元格
  • 谷歌地图 API v3 - 最近的街景

    当某个地点无法使用街景时 我想找到最近的有街景的地点 我能想到的唯一办法就是 radius 0 noOfPoints 3 while radius lt 10 miles radius radius 0 2 miles points cal
  • Prism,用Unity连接Views和ViewModels,试图理解它

    使用 Unity 创建视图和视图模型 使用 Unity 作为依赖项注入容器类似于使用 MEF 基于属性的注入和基于构造函数的注入都是 支持的 主要区别在于这些类型通常是 在运行时没有隐式发现 相反 他们必须是 已向容器注册 通常 您在视图模
  • 如何让 QFileDialog 选择并返回多个文件夹[重复]

    这个问题在这里已经有答案了 我希望用户能够选择多个文件夹 然后将这些文件夹的路径存储在列表中 我怎样才能做到这一点 我当前的 QFileDialog 如下所示 str QtGui QFileDialog getExistingDirecto
  • C++ CLI 集合初始值设定项语法

    C CLI 支持此功能吗 我想在 C CLI 中执行类似以下 C 示例的操作 var dictionary new Dictionary
  • 适用于 Java 的最佳 CLI 解析器 [重复]

    这个问题在这里已经有答案了 哪种 Java CLI 解析器比其他解析器更易于使用且可扩展性更好 以下是一些最受欢迎的 它们的功能都很齐全 使用过前两个后我可以推荐它们 公共命令行界面 http commons apache org cli
  • 使用 FOS 用户捆绑包编辑用户配置文件

    我将 symfony 2 与 FOSUserBundle 一起使用 问题是当添加用户时 当前登录的用户配置文件将被当前添加的用户替换 然后当我尝试编辑其他用户配置文件时 唯一可编辑的是当前登录的用户配置文件用户 FOSUserBundle
  • 如何在数据库中存储目录/层次/树结构?

    如何在数据库中存储目录 层次结构 树结构 即MSSQL服务器 olavk 看起来你没有看到我自己的答案 我使用的方式比递归查询好得多 p p s This is http www developerfusion co uk show 463
  • 一次附加多个 pandas 数据框[重复]

    这个问题在这里已经有答案了 我试图找到某种方法一次附加多个 pandas 数据帧 而不是使用它们一一附加 df append df 假设有 5 个 pandas 数据框t1 t2 t3 t4 t5 我如何立即附加它们 相当于 df rbin
  • 您需要从工作树的顶层运行此命令

    我正在尝试安装多蒂斯尼普斯 http www vim org scripts script php script id 2715 当我输入 cd vim git submodule add https github com SirVer u
  • 在 Windows 中生成随机文件

    有谁有办法在 Windows 中生成随机数据文件吗 我想生成 50 000 个小 2K 文件作为示例 您可以在批处理循环中运行 fsutil 以创建任意大小的文件 fsutil file createnew filename extensi
  • 如何找到所有未选中的复选框?

    在 jQuery 中 如何找到所有 未选中 的复选框 checkbox checked 似乎我所有的复选框都是选中的 但我需要的是所有未选中的复选框 您使用 not http docs jquery com Selectors not se
  • 如何在 Node JS 中编写非阻塞 if 语句?

    我在 php 中有一个 if 语句 if isTrue db record exists id else 第一个条件是真 假布尔检查 第二个条件调用一个函数来查看数据库表中是否存在一行并返回 true 或 false 我想在 Node JS
  • “exec:”python“:在$ PATH中找不到可执行文件

    我在跑步Arduino 集成开发环境 1 8 12 on Ubuntu 18 04 4 LTS 我正在尝试编译 ESP32 相机模块的示例代码 Arduino IDE 上带有默认示例的标准相机模块 但出现此错误 我认为这不是 Arduino
  • 在 C# 中将字符串转换为泛型类型(基本类型或数组)

    我想将字符串转换为给定的泛型类型T 它可以是基本类型或字符串 例如int or string 或基本类型或字符串的数组 例如int or string 我有以下功能 T Str2Val
  • 使用 PHP 中的 REST API 在 SalesForce 中创建潜在客户

    在过去的几天里 我一直在尝试通过 SalesForce 的 REST API 创建潜在客户 但我一生都无法让它发挥作用 我能够毫无问题地获得访问令牌 但从那时起 就创建潜在客户而言 我绝对没有运气 我在所有文档中不断看到 curl http
  • PWM DMA 到整个 GPIO

    我有一个 STM32F4 我想对一个已与掩码进行 或 运算的 GPIO 端口进行 PWM 处理 所以 也许我们想要 PWM0b00100010一段时间为 200khz 但随后 10khz 后 我们现在想要 PWM0b00010001 然后
  • 使用 Roslyn,如何枚举 Visual Basic 文档中的成员(命名空间、类等)详细信息?

    使用 Roslyn 确定 Visual Basic 文档成员的唯一机制似乎是 var members SyntaxTree GetRoot DescendantNodes Where node gt node is ClassStateme
  • android 检查项目是否被点击

    我刚刚开始学习 Android 编程 事情是这样的 如何检查 GridView 中的项目是否已被单击 比如为网格中的每个项目分配一个布尔值 单击 并在每次单击该项目时更改它的值 目前我只是使用一个布尔数组 所以如果我单击 item x 它会
  • 将秒转换为人类可读的持续时间

    我如何最好地将 90060 秒 转换为字符串 25h 1m 目前我正在 SQL 中执行此操作 SELECT IF HOUR sec to time sum time to sec task records time spent gt 0 C