PHPを使用して、「1時間10分」の文字列を次の形式01:10:00に変換する方法。これは私がやったことです -echo date('H:i:s',strtotime('1 hour and 10 min'));
出力は -01:00:00
1726 次
6 に答える
4
常にそこにあるhour
and
min
と仮定して(強調)、使用できますsscanf
$text = "1 hour 10 min";
list($hour, $min) = sscanf($text, "%d hour %d min");
echo
str_pad($hour, 2, '0', STR_PAD_LEFT) . ':' .
str_pad($min, 2, '0', STR_PAD_LEFT) .
':00';
于 2012-05-16T09:58:31.227 に答える
1
php > preg_match('/^(\d+)\shour[^\d]+(\d+)\smin.+$/i', '1 hour and 10 minutes', $matches);
php > echo str_pad($matches[1], 2, '0', STR_PAD_LEFT).':'.str_pad($matches[2], 2, '0', STR_PAD_LEFT).':00';
01:10:00
于 2012-05-16T09:59:34.410 に答える
1
$time = '1 hour and 10 min';
$arr = explode( ' ', $time);
if ( count($arr) > 2) {
echo date( 'H:i:s', strtotime($arr[0] . ':' . $arr[count($arr)-2]));
} else {
echo $arr[1] == 'hour' ? date( 'H:i:s', strtotime($arr[0] . ':' . '00')):
date( 'H:i:s', strtotime(00 . ':' . $arr[0]));
}
于 2012-05-16T09:54:53.067 に答える
1
strtotime function のPHPドキュメントの例を見るとand
、問題の原因となっている単語のようです。
入力文字列がどこから来ているのかわかりませんが、除外することはできますかand
(つまり、 だけを持ってい1 hour 10 min
ますか)?
于 2012-05-16T10:36:49.460 に答える
-3
これを試して
$string="1 時間 10 分";
echo preg_replace("/[az\s]+/",":",$string)."00
于 2012-05-16T09:52:17.433 に答える