是否存在使用PHP 5.3执行"HH:MM:SS" to seconds
的本地方式,而不是对冒号进行拆分并将每个部分乘以相关数字来计算秒数?
例如在Python中你可以这样做:
string time = "00:01:05";
double seconds = TimeSpan.Parse(time).TotalSeconds;
答案 0 :(得分:24)
快捷方式:
echo strtotime('01:00:00') - strtotime('TODAY'); // 3600
答案 1 :(得分:7)
这应该可以解决问题:
list($hours,$mins,$secs) = explode(':',$time);
$seconds = mktime($hours,$mins,$secs) - mktime(0,0,0);
答案 2 :(得分:4)
我认为最简单的方法将使用strtotime()
函数:
$time = '21:30:10';
$seconds = strtotime("1970-01-01 $time UTC");
echo $seconds;
函数date_parse()
也可用于解析日期和时间:
$time = '21:30:10';
$parsed = date_parse($time);
$seconds = $parsed['hour'] * 3600 + $parsed['minute'] * 60 + $parsed['second'];
答案 3 :(得分:2)
不幸的是没有 - 因为PHP没有强类型,所以没有时间类型的概念,因此没有办法在这样的字符串和“秒”值之间进行转换。
因此,在实践中,人们经常拆分字符串并按照您的提及将每个部分相乘。