1

とても簡単なはずですが、PHP の時間関数に問題があります。「1 h 38 min」のような文字列があり、それを分数の整数に変換したい。何か助けになりますか、それは些細なことですか?;)

4

2 に答える 2

4

これは、時間関数よりもsscanfの仕事のように思えます。

このようなもの:

<?php

$input = '1 h 38 min';
sscanf($input, '%d h %d min', $hours, $minutes);

$minutes += 60 * $hours;

echo "total minutes: $minutes\n";
于 2013-04-06T16:49:41.313 に答える
0

以下は、sscanf よりも少し堅牢で、時間の使用にもう少し特化した (そして古いバージョンの PHP で動作する) コードです。

$input = '1 d 1 hour 38 min';
$usableInput = trim(str_replace(array(' y ', ' m ', ' d ', ' h ', ' s '), array(' years ', ' months ', ' days ', ' hours ', ' seconds '), " $input "));
$now = time();
$seconds = strtotime("+$usableInput", $now) - $now;
$minutes = floor($seconds / 60);
于 2013-04-06T19:47:11.163 に答える