1

PHPを使用して数値をタイムスタンプ(具体的には分)に変換するにはどうすればよいですか?

たとえば、データベースでタイムスタンプを使用しています00:01:3000:00:30

しかし、私がこれを書いている人々は、彼らがただ入ることができる(そして要求された)習慣を持ってい30ます。私の側では、どういうわけかこれらをそれぞれ、に変換する必要があります。607500:00:3000:01:0000:01:15

どうすればこれを行うことができますか?私は知ってstrtotime()date()ますが、数値を取得して変換する方法がわからないようです...

ありがとう

4

4 に答える 4

3

1つのトリックを使用して、このようなintを時間に簡単に変換できます。

$time = gmdate('H:i:s', 75); // 00:01:15

gmdateは常にから秒を変換するため、これは機能します1970-01-01 00:00:00。したがって、86400未満のすべての整数に対して正しい結果が生成されます。

于 2012-11-01T16:23:43.450 に答える
2

入力がstrtotimeを処理するのではなく、ほんの数分である場合は、手動で文字列に変換することをお勧めします。例えば:

<?php
  $minutes = 75;
  $timestring = sprintf('%2d:%2d:%2d', floor($minutes/60), ($minutes%60), 0);
  echo 'Time: '.$timestring;
?>

これは印刷され01:15:00ます。あなたの質問から、議事録は最後の列にあるように見えますが、私はより標準的な形式で私の解決策を示しています。

編集:結果を含め、より適切な例を使用します

于 2012-11-01T16:21:59.703 に答える
0

mktimeを使用することをお勧めします。たとえば、開始時刻がわかっている場合は、それよりも入力して、30、60、または90を[分]列に追加するだけです。

于 2012-11-01T16:22:38.743 に答える
0

PHPが十分に新しい(5.3.x)場合は、DateTimeクラスを使用してから、1日の始まりから時刻を作成し、75分を追加するか、組み込みの形式を使用して経過時刻から変換します。

于 2012-11-02T15:03:43.597 に答える