这里的第一个问题,如果这看起来很明显,请原谅我。我在MySQL数据库中使用'TIME'数据类型时遇到了一些问题,并试图找到在时间戳开头修剪前导零的最佳方法。
更具体地说,我的数据库中有一个歌曲表,在该表中我有一个song_length列。此列使用Time数据类型,因此表示始终为hh:mm:ss。
如果我的歌只有3分42秒(例如),我希望将其显示为简单:3:42,而不是00:03:42。是否有内置的PHP函数(可能类似于date())来处理这样的事情?
答案 0 :(得分:1)
有date()
您需要确保在$hours > 0
$d = new DateTime($time);
echo $d->format('H') > 0
? ltrim($d->format('H:i:s'), '0')
: ltrim($d->format('i:s'), '0');
答案 1 :(得分:0)
将其拆分为数组,然后将每个部分转换为int
$time = '00:03:42';
$parts = explode(':', $time);
$hours = (int) $parts[0];
$minutes = (int) $parts[1];
$seconds = (int) $parts[2];
如果我是你,我会将时间存储为表示秒数的整数。