当前位置: 首页 > 面试题库 >

将HH:MM:SS格式的时间仅转换为秒?

拓拔骁
2023-03-14
问题内容

如何将时间格式HH:MM:SS转换为固定的秒数?

PS Time有时可能MM:SS仅采用格式。


问题答案:

不需要explode任何东西:

$str_time = "23:12:95";

$str_time = preg_replace("/^([\d]{1,2})\:([\d]{2})$/", "00:$1:$2", $str_time);

sscanf($str_time, "%d:%d:%d", $hours, $minutes, $seconds);

$time_seconds = $hours * 3600 + $minutes * 60 + $seconds;

而且,如果您不想使用正则表达式

$str_time = "2:50";

sscanf($str_time, "%d:%d:%d", $hours, $minutes, $seconds);

$time_seconds = isset($hours) ? $hours * 3600 + $minutes * 60 + $seconds : $minutes * 60 + $seconds;


 类似资料:
  • 问题内容: 我有一个名为 test_duration bigint(12) 的数据列。我将以秒为单位的时间存储到数据库中。现在,当我从表中获取记录时,我希望将时间转换为HH:MM:SS格式。我应该如何实现呢?提前致谢。 问题答案: 您可以使用 MySQL 函数SEC_TO_TIME()。 例子: 输出为: 因此,在您的情况下:

  • 问题内容: 这是我的尝试 因此,当我尝试类似的值时3600000ms,我得到01:59:00,这是错误的,因为它应该是01:00:00。显然我的逻辑有问题,但是目前,我看不出它是什么! 有人可以帮忙吗? 编辑 固定它。这是格式化毫秒hh:mm:ss格式的正确方法 问题是这样的TimeUnit.MINUTES.toMinutes(TimeUnit.MILLISECONDS.toHours(milli

  • 问题内容: 是否有任何棘手的格式来格式化小时,分钟,秒等秒。例如, 3660 秒将显示为 01h 01m 00s 或者 01:01:00 我知道这样做的标准方法: 将所有秒数除以3600,以获取小时数 将剩下的秒数除以60得到分钟 剩下的就是几秒钟 我遇到了以下问题: 我无法创建执行此操作的单独功能。 我的代码正在使用多个CTE进行查看。因此,只能使用CTE声明变量。 我无法使用标准解决方案,因为

  • 我怎么能把下面的日期时间格式转换为 yyyy-MM-dd HH:mm:ss? 我已经试过了,但不起作用,时间不对。 当你打印时,它带来了错误的时间:

  • 问题内容: 我正在尝试从Netezza将具有格式的记录插入Oracle,但是我得到的日期类型无效。 我该如何做到这一点? 问题答案: http://www.sqlfiddle.com/#!4/22115/1

  • 问题内容: 由于某种原因,我将时间格式转换为:。我想将其转换回原来的第一个(相同)格式。怎么可能 我的尝试: 现在,分钟呢? 考虑价值可能就像 我认为您了解了一样。 顺便说一下,如何转换 问题答案: 如果要获取时间格式: