fork download
  1. <?php
  2. $time = microtime(1);
  3. echo "Reposta do Andrei Coelho\n";
  4. $times = array();
  5. $times[] = "18:00";
  6. $times[] = "08:00";
  7. echo AddPlayTime2($times)."\n";
  8. function AddPlayTime2($times) {
  9. $total = 0;
  10. foreach ($times as $time) {
  11. if(substr_count($time, ":") == 1)
  12. $time .= ":00";
  13. sscanf($time, "%02d:%02d:%02d", $hour, $minute, $second);
  14. $total += $hour * 3600 + $minute * 60 + $second;
  15. }
  16. $horas = floor($total / 3600);
  17. $minutos = floor(($total - ($horas * 3600)) / 60);
  18. $segundos = floor($total % 60);
  19. return sprintf('%02d:%02d:%02d', $horas, $minutos, $segundos);
  20. }
  21. echo 'Tempo: ', 1000 * (microtime(1) - $time), "ms\n\n";
  22. $time = microtime(1);
  23. echo "Reposta do RBZ\n";
  24. $hora1 = '18:00';
  25. $hora2 = '08:00';
  26. $t1 = explode(':', $hora1);
  27. $t2 = explode(':', $hora2);
  28. $min_1 = ($t1[0] * 60 + $t1[1]);
  29. $min_2 = ($t2[0] * 60 + $t2[1]);
  30. $min_t = $min_1 + $min_2;
  31. $formato = '%02d:%02d';
  32. $horas = floor($min_t / 60);
  33. $minutos = ($min_t % 60);
  34. echo 'Hora: ' . sprintf($formato, $horas, $minutos)."\n";
  35. echo 'Tempo: ', 1000 * (microtime(1) - $time), "ms\n\n";
  36. $time = microtime(1);
  37. echo "Reposta do Isac\n";
  38. function obterSegundos($tempo){
  39. $tempos = explode(":", $tempo);
  40. $horasmins = (int)$tempos[0] * 3600 + (int)$tempos[1] * 60;
  41. return count($tempos) === 2 ? $horasmins : $horasmins + (int)$tempos[2];
  42. }
  43. function formatarSegundos($total){
  44. $horas = floor($total / 3600);
  45. $minutos = floor(($total - $horas * 3600) / 60);
  46. $segundos = $total % 60;
  47. return $segundos ?
  48. sprintf('%02d:%02d:%02d', $horas, $minutos, $segundos):
  49. sprintf('%02d:%02d', $horas, $minutos);
  50. }
  51. $t1 = "18:00";
  52. $t2 = "08:00";
  53. $total = obterSegundos($t1) + obterSegundos($t2);
  54. $t3 = formatarSegundos($total);
  55. echo $t3."\n";
  56. echo 'Tempo: ', 1000 * (microtime(1) - $time), "ms\n\n";
  57. $time = microtime(1);
  58. echo "Reposta do Wictor\n";
  59. $times = array();
  60. $times[] = "18:00";
  61. $times[] = "8:00";
  62. echo AddPlayTime($times)."\n";
  63. function AddPlayTime($times) {
  64. $minutes = 0;
  65. foreach ($times as $time) {
  66. list($hour, $minute) = explode(':', $time);
  67. $minutes += $hour * 60;
  68. $minutes += $minute;
  69. }
  70. $hours = floor($minutes / 60);
  71. $minutes -= $hours * 60;
  72. return sprintf('%02d:%02d', $hours, $minutes);
  73. }
  74. echo 'Tempo: ', 1000 * (microtime(1) - $time), "ms\n\n";
  75. $time = microtime(1);
  76. echo "Reposta do I Like Trains\n";
  77. $tempo="18:00";
  78. $tempo2="08:00";
  79. $minutos1=substr($tempo, 3, 2);
  80. $minutos2=substr($tempo2, 3, 2);
  81. $soma_min=(int)$minutos2+(int)$minutos1;
  82. if($soma_min > 60){
  83. $hora_mais=1;
  84. $soma_min=$soma_min-60;
  85. }else{
  86. $hora_mais=0;
  87. }
  88. if($soma_min<10){
  89. $soma_min=$soma_min."0";
  90. }
  91. $hora1 = substr($tempo, 0, 2);
  92. $hora2 = substr($tempo2, 0, 2);
  93. $hora_somada= (int)$hora2+(int)$hora1+$hora_mais;
  94. $tudo_junto=$hora_somada.":".$soma_min;
  95. echo $tudo_junto."\n";
  96. echo 'Tempo: ', 1000 * (microtime(1) - $time), "ms\n\n";
Success #stdin #stdout 0.02s 23564KB
stdin
Standard input is empty
stdout
Reposta do Andrei Coelho
26:00:00
Tempo: 0.10013580322266ms

Reposta do RBZ
Hora: 26:00
Tempo: 0.034093856811523ms

Reposta do Isac
26:00
Tempo: 0.030040740966797ms

Reposta do Wictor
26:00
Tempo: 0.027894973754883ms

Reposta do I Like Trains
26:00
Tempo: 0.025033950805664ms