Index: bin/php/updateniceurls.php
===================================================================
--- bin/php/updateniceurls.php	(revision 20352)
+++ bin/php/updateniceurls.php	(working copy)
@@ -125,14 +125,6 @@
 $totalChangedNodes = 0;
 $totalNodeCount = 0;
 
-
-function microtimeFloat()
-{
-    $mtime = microtime();
-    $tTime = explode( " ", $mtime );
-    return $tTime[1] + $tTime[0];
-}
-
 function displayProgress( $statusCharacter, $startTime, $currentCount, $totalCount, $currentColumn )
 {
     global $maxColumn;
@@ -143,7 +135,7 @@
 
     if ( $currentColumn > $maxColumn )
     {
-        $endTime = microtimeFloat();
+        $endTime = microtime( true );
         $relTime = ( $endTime - $startTime ) / $currentCount;
 #        $totalTime = ( $relTime * (float)$totalCount ) - ( $endTime - $startTime );
         $totalTime = ( $relTime * (float)($totalCount - $currentCount) );
@@ -358,7 +350,7 @@
     $urlCount = fetchHistoricURLCount();
     $cli->output( "Importing {$urlCount} " . $cli->stylize( 'emphasize', "standard urls" ) );
     $column = $counter = $offset = 0;
-    $urlImportStartTime = microtimeFloat();
+    $urlImportStartTime = microtime( true );
     do
     {
         list( $rows, $offset ) = fetchHistoricURLChunk( 0/*$offset*/, $fetchLimit );
@@ -382,7 +374,7 @@
     $urlCount = fetchHistoricRedirectionCount();
     $cli->output( "Importing {$urlCount} " . $cli->stylize( 'emphasize', "redirections" ) );
     $column = $counter = $offset = 0;
-    $urlImportStartTime = microtimeFloat();
+    $urlImportStartTime = microtime( true );
     do
     {
         list( $rows, $offset ) = fetchHistoricRedirectionChunk( 0, $fetchLimit );
@@ -434,7 +426,7 @@
     $urlCount = fetchHistoricWildcardCount();
     $cli->output( "Importing {$urlCount} " . $cli->stylize( 'emphasize', "wildcards" ) );
     $column = $counter = $offset = 0;
-    $urlImportStartTime = microtimeFloat();
+    $urlImportStartTime = microtime( true );
     do
     {
         list( $rows, $offset ) = fetchHistoricWildcardChunk( 0, $fetchLimit );
@@ -520,7 +512,7 @@
                                                  'IgnoreVisibility' => true ) );
     $totalNodeCount += $nodeCount + 1;
     $cli->output( "Starting updates for " . $cli->stylize( 'mark', $rootNode->attribute( 'name' ) ) . ", $nodeCount nodes" );
-    $nodeStartTime = microtimeFloat();
+    $nodeStartTime = microtime( true );
     while ( !$done )
     {
         $nodeList = $rootNode->subTree( array( 'Offset' => $offset,
Index: index.php
===================================================================
--- index.php	(revision 20352)
+++ index.php	(working copy)
@@ -56,7 +56,7 @@
     }
 }
 
-$scriptStartTime = microtime();
+$scriptStartTime = microtime( true );
 ob_start();
 
 $use_external_css = true;
Index: kernel/classes/clusterfilehandlers/dbbackends/mysql.php
===================================================================
--- kernel/classes/clusterfilehandlers/dbbackends/mysql.php	(revision 20352)
+++ kernel/classes/clusterfilehandlers/dbbackends/mysql.php	(working copy)
@@ -921,7 +921,7 @@
     function _selectOne( $query, $fname, $error = false, $debug = false, $fetchCall )
     {
         eZDebug::accumulatorStart( 'mysql_cluster_query', 'mysql_cluster_total', 'Mysql_cluster_queries' );
-        $time = array_sum( split( " ", microtime() ) );
+        $time = microtime( true );
 
         $res = mysql_query( $query, $this->db );
         if ( !$res )
@@ -944,7 +944,7 @@
         if ( $debug )
             $query = "SQL for _selectOneAssoc:\n" . $query . "\n\nRESULT:\n" . var_export( $row, true );
 
-        $time = array_sum( split( " ", microtime() ) ) - $time;
+        $time = microtime( true ) - $time;
         eZDebug::accumulatorStop( 'mysql_cluster_query' );
 
         $this->_report( $query, $fname, $time );
@@ -1232,7 +1232,7 @@
     function _query( $query, $fname = false, $reportError = true )
     {
         eZDebug::accumulatorStart( 'mysql_cluster_query', 'mysql_cluster_total', 'Mysql_cluster_queries' );
-        $time = array_sum( split( " ", microtime() ) );
+        $time = microtime( true );
 
         $res = mysql_query( $query, $this->db );
         if ( !$res && $reportError )
@@ -1242,7 +1242,7 @@
 
         $numRows = mysql_affected_rows( $this->db );
 
-        $time = array_sum( split( " ", microtime() ) ) - $time;
+        $time = microtime( true ) - $time;
         eZDebug::accumulatorStop( 'mysql_cluster_query' );
 
         $this->_report( $query, $fname, $time, $numRows );
Index: kernel/common/ezi18noperator.php
===================================================================
--- kernel/common/ezi18noperator.php	(revision 20352)
+++ kernel/common/ezi18noperator.php	(working copy)
@@ -34,11 +34,6 @@
 
 */
 
-function make_seed() {
-    list($usec, $sec) = explode(' ', microtime());
-    return (float) $sec + ((float) $usec * 100000);
-}
-
 //include_once( 'lib/ezi18n/classes/eztranslatormanager.php' );
 //include_once( 'lib/ezi18n/classes/eztstranslator.php' );
 
Index: lib/ezdb/classes/ezdbinterface.php
===================================================================
--- lib/ezdb/classes/ezdbinterface.php	(revision 20352)
+++ lib/ezdb/classes/ezdbinterface.php	(working copy)
@@ -364,7 +364,7 @@
     */
     function startTimer()
     {
-        $this->StartTime = microtime();
+        $this->StartTime = microtime( true );
     }
 
     /*!
@@ -374,13 +374,9 @@
     */
     function endTimer()
     {
-        $this->EndTime = microtime();
+        $this->EndTime = microtime( true );
         // Calculate time taken in ms
-        list($usec, $sec) = explode( " ", $this->StartTime );
-        $start_val = ((float)$usec + (float)$sec);
-        list($usec, $sec) = explode( " ", $this->EndTime );
-        $end_val = ((float)$usec + (float)$sec);
-        $this->TimeTaken = $end_val - $start_val;
+        $this->TimeTaken = $this->EndTime - $this->StartTime;
         $this->TimeTaken *= 1000.0;
     }
 
Index: lib/ezi18n/classes/ezrandomtranslator.php
===================================================================
--- lib/ezi18n/classes/ezrandomtranslator.php	(revision 20352)
+++ lib/ezi18n/classes/ezrandomtranslator.php	(working copy)
@@ -79,8 +79,8 @@
     */
     function makeSeed()
     {
-        list( $usec, $sec ) = explode( ' ', microtime() );
-        return (float) $sec + ( (float) $usec * 100000 );
+        $seed = microtime( true ) * 100000;
+        return $seed;
     }
 }
 
Index: lib/ezutils/classes/ezdebug.php
===================================================================
--- lib/ezutils/classes/ezdebug.php	(revision 20352)
+++ lib/ezutils/classes/ezdebug.php	(working copy)
@@ -184,7 +184,7 @@
         $this->OldHandler = false;
         $this->UseCSS = false;
         $this->MessageOutput = self::EZ_OUTPUT_MESSAGE_STORE;
-        $this->ScriptStart = eZDebug::timeToFloat( microtime() );
+        $this->ScriptStart = microtime( true );
         $this->TimeAccumulatorList = array();
         $this->TimeAccumulatorGroupList = array();
         $this->OverrideList = array();
@@ -664,7 +664,7 @@
             return;
         $debug = eZDebug::instance();
 
-        $time = microtime();
+        $time = microtime( true );
         $usedMemory = 0;
         if ( function_exists( "memory_get_usage" ) )
             $usedMemory = memory_get_usage();
@@ -1242,15 +1242,14 @@
     }
 
     /*!
-     Sets the time of the start of the script ot \a $mtime.
-     If \a $mtime is not supplied it gets the current \c microtime().
+     Sets the time of the start of the script ot \a $time.
+     If \a $time is not supplied it gets the current \c microtime( true ).
      This is used to calculate total execution time and percentages.
     */
-    static function setScriptStart( $mtime = false )
+    static function setScriptStart( $time = false )
     {
-        if ( $mtime == false )
-            $mtime = microtime();
-        $time = eZDebug::timeToFloat( microtime() );
+        if ( $time == false )
+            $time = microtime( true );
         $debug = eZDebug::instance();
         $debug->ScriptStart = $time;
     }
@@ -1327,7 +1326,7 @@
             $debug->TimeAccumulatorList[$key]['recursive_counter'] = 0;
         }
 
-        $debug->TimeAccumulatorList[$key]['temp_time'] = $debug->timeToFloat( microtime() );
+        $debug->TimeAccumulatorList[$key]['temp_time'] = microtime( true );
     }
 
     /*!
@@ -1338,7 +1337,7 @@
         if ( !eZDebug::isDebugEnabled() )
             return;
         $debug = eZDebug::instance();
-        $stopTime = $debug->timeToFloat( microtime() );
+        $stopTime = microtime( true );
         $key = $key === false ? 'Default Debug-Accumulator' : $key;
         if ( ! array_key_exists( $key, $debug->TimeAccumulatorList ) )
         {
@@ -1392,7 +1391,7 @@
         if ( !$allowedDebugLevels )
             $allowedDebugLevels = array( self::EZ_LEVEL_NOTICE, self::EZ_LEVEL_WARNING, self::EZ_LEVEL_ERROR,
                                          self::EZ_LEVEL_DEBUG, self::EZ_LEVEL_TIMING_POINT, self::EZ_LEVEL_STRICT );
-        $endTime = microtime();
+        $endTime = microtime( true );
 
         if ( $returnReport )
         {
@@ -1514,10 +1513,10 @@
                 $nextPoint = false;
                 if ( isset( $this->TimePoints[$i + 1] ) )
                     $nextPoint = $this->TimePoints[$i + 1];
-                $time = $this->timeToFloat( $point["Time"] );
+                $time = $point["Time"];
                 $nextTime = false;
                 if ( $nextPoint !== false )
-                    $nextTime = $this->timeToFloat( $nextPoint["Time"] );
+                    $nextTime = $nextPoint["Time"];
                 if ( $startTime === false )
                     $startTime = $time;
                 $elapsed = $time - $startTime;
@@ -1558,10 +1557,6 @@
 
             if ( count( $this->TimePoints ) > 0 )
             {
-                $tTime = explode( " ", $endTime );
-                ereg( "0\.([0-9]+)", "" . $tTime[0], $t1 );
-                $endTime = $tTime[1] . "." . $t1[1];
-
                 $totalElapsed = $endTime - $startTime;
 
                 if ( $as_html )
@@ -1636,7 +1631,7 @@
             $i = 0;
         }
 
-        $scriptEndTime = eZDebug::timeToFloat( microtime() );
+        $scriptEndTime = microtime( true );
         $totalElapsed = $scriptEndTime - $this->ScriptStart;
         $timeList = $this->TimeAccumulatorList;
         $groups = $this->TimeAccumulatorGroupList;
