rausis Posted January 17, 2009 Report Share Posted January 17, 2009 (edited) if funkcija function convert_time($laiks) { preg_match('/^(\d\d):(\d\d):(\d\d)$/', $laiks, $mass); if ($mass[1] !== '00') { return $mass[1].' stundas, '.$mass[2].' minūtes, '.$mass[3].' sekundes'; } else if($mass[2] !== '00') { return $mass[2].' minūtes, '.$mass[3].' sekundes'; } else { return $mass[3].' sekundes'; } } tiek ievadīts laiks 00:00:00 formātā. Ievadu 00:00:28 - izvada 28 sekundes (viss ok!) Ievadu 00:04:00 - izvada 04 minūtes, 00 sekundes (tomēr gribētos, lai izvada 4 minūtes) Ievadu 02:04:08 - izvada 02 stundas, 04 minūtes, 08 sekundes (gribētos 2 stundas, 4 minūtes, 8 sekundes), utt.. Kāds nevarētu palīdzēt, kā to dabūt gatavu, protams, var sarakstīt garu penteri ar nosacījumiem un citiem brīnumiem, bet domāju, ka to var uzrakstīt daudz īsāk un strādās arī ātrāk. Paldies :) Edited January 17, 2009 by rausis Link to comment Share on other sites More sharing options...
bubu Posted January 17, 2009 Report Share Posted January 17, 2009 list($stundas, $minutes, $sekundes) = array_map("intval", explode(":", $laiks)); return ($stundas != 0 ? "$stundas stundas " : "") . ($minutes != 0 ? "$minutes minūtes " : "") . "$sekundes sekundes"; Link to comment Share on other sites More sharing options...
rausis Posted January 17, 2009 Author Report Share Posted January 17, 2009 Paldies, strādā :) Link to comment Share on other sites More sharing options...
Kavacky Posted January 17, 2009 Report Share Posted January 17, 2009 Nepiemirsti, ka, piemēram, "21" nav "sekundes", bet gan "sekunde". (; Link to comment Share on other sites More sharing options...
Recommended Posts