diff --git a/applications/solvers/DNS/dnsFoam/dnsFoam.C b/applications/solvers/DNS/dnsFoam/dnsFoam.C
index a38a001258817e70a5caf78f90ba13f5a75b0caa..87720db898c6264bd45bae02a663ad82d6168078 100644
--- a/applications/solvers/DNS/dnsFoam/dnsFoam.C
+++ b/applications/solvers/DNS/dnsFoam/dnsFoam.C
@@ -126,9 +126,7 @@ int main(int argc, char *argv[])
             );
         }
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/basic/laplacianFoam/laplacianFoam.C b/applications/solvers/basic/laplacianFoam/laplacianFoam.C
index c22c11608ead7b9635dd445785640090ed832a2b..06148020d1e86f9404307dd625258189cc18d710 100644
--- a/applications/solvers/basic/laplacianFoam/laplacianFoam.C
+++ b/applications/solvers/basic/laplacianFoam/laplacianFoam.C
@@ -93,9 +93,7 @@ int main(int argc, char *argv[])
 
         #include "write.H"
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/basic/laplacianFoam/overLaplacianDyMFoam/laplacianDyMFoam.C b/applications/solvers/basic/laplacianFoam/overLaplacianDyMFoam/laplacianDyMFoam.C
index 7bcd6b6cb608a2aee3b5d1b319b69ec3d5c061bb..bc626b3747d1501ddacec10a9d684c3dcaaf33e7 100644
--- a/applications/solvers/basic/laplacianFoam/overLaplacianDyMFoam/laplacianDyMFoam.C
+++ b/applications/solvers/basic/laplacianFoam/overLaplacianDyMFoam/laplacianDyMFoam.C
@@ -96,9 +96,7 @@ int main(int argc, char *argv[])
 
         #include "write.H"
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/basic/potentialFoam/overPotentialFoam/potentialFoam.C b/applications/solvers/basic/potentialFoam/overPotentialFoam/potentialFoam.C
index d63f664a5cef67a4bf2fdca37a7ee31b4e3d8130..3259c951dacb9eaed8600149cbd0e02b6821927f 100644
--- a/applications/solvers/basic/potentialFoam/overPotentialFoam/potentialFoam.C
+++ b/applications/solvers/basic/potentialFoam/overPotentialFoam/potentialFoam.C
@@ -247,9 +247,7 @@ int main(int argc, char *argv[])
 
     runTime.functionObjects().end();
 
-    Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-        << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-        << nl << endl;
+    runTime.printExecutionTime(Info);
 
     Info<< "End\n" << endl;
 
diff --git a/applications/solvers/basic/potentialFoam/potentialFoam.C b/applications/solvers/basic/potentialFoam/potentialFoam.C
index b0e2b93538897ff1919940c0b9515ecea2ff0641..3c0408717ea68d6e12a1bb333365ecf7ae484f64 100644
--- a/applications/solvers/basic/potentialFoam/potentialFoam.C
+++ b/applications/solvers/basic/potentialFoam/potentialFoam.C
@@ -235,9 +235,7 @@ int main(int argc, char *argv[])
 
     runTime.functionObjects().end();
 
-    Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-        << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-        << nl << endl;
+    runTime.printExecutionTime(Info);
 
     Info<< "End\n" << endl;
 
diff --git a/applications/solvers/combustion/PDRFoam/PDRFoam.C b/applications/solvers/combustion/PDRFoam/PDRFoam.C
index 9d873681fe86fa187a63102a2cdf667b92b4ff2f..5f4cac3e6e8f5492643f47f9e96247b72908af75 100644
--- a/applications/solvers/combustion/PDRFoam/PDRFoam.C
+++ b/applications/solvers/combustion/PDRFoam/PDRFoam.C
@@ -150,9 +150,7 @@ int main(int argc, char *argv[])
 
         runTime.write();
 
-        Info<< "\nExecutionTime = "
-             << runTime.elapsedCpuTime()
-             << " s\n" << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "\n end\n";
diff --git a/applications/solvers/combustion/PDRFoam/PDRFoamAutoRefine.C b/applications/solvers/combustion/PDRFoam/PDRFoamAutoRefine.C
index 6f41ca13c70273887444a80de9342daca2887f34..60618232e0384edfd652cc446cc3d1d42bd0b998 100644
--- a/applications/solvers/combustion/PDRFoam/PDRFoamAutoRefine.C
+++ b/applications/solvers/combustion/PDRFoam/PDRFoamAutoRefine.C
@@ -198,9 +198,7 @@ int main(int argc, char *argv[])
 
         runTime.write();
 
-        Info<< "\nExecutionTime = "
-             << runTime.elapsedCpuTime()
-             << " s\n" << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "\n end\n";
diff --git a/applications/solvers/combustion/XiFoam/XiDyMFoam/XiDyMFoam.C b/applications/solvers/combustion/XiFoam/XiDyMFoam/XiDyMFoam.C
index 07b52d60d9ea0500e3713bd84f6be07a33ce22e1..22ee54845636040daa8a5d90b8461474b4dd769e 100644
--- a/applications/solvers/combustion/XiFoam/XiDyMFoam/XiDyMFoam.C
+++ b/applications/solvers/combustion/XiFoam/XiDyMFoam/XiDyMFoam.C
@@ -170,9 +170,7 @@ int main(int argc, char *argv[])
 
         runTime.write();
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/combustion/XiFoam/XiFoam.C b/applications/solvers/combustion/XiFoam/XiFoam.C
index 4c23928970e44398a0272d81139f25edbd118ee5..b4a19af179c794c91fb300c8d6f6be3ecedfdc4c 100644
--- a/applications/solvers/combustion/XiFoam/XiFoam.C
+++ b/applications/solvers/combustion/XiFoam/XiFoam.C
@@ -128,9 +128,7 @@ int main(int argc, char *argv[])
 
         runTime.write();
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/combustion/chemFoam/chemFoam.C b/applications/solvers/combustion/chemFoam/chemFoam.C
index 79037aae50bea5bc6ef588a4c386e12f9b6918b4..2a52eca1179a3ea55093970ab863cacd2840bc60 100644
--- a/applications/solvers/combustion/chemFoam/chemFoam.C
+++ b/applications/solvers/combustion/chemFoam/chemFoam.C
@@ -82,9 +82,7 @@ int main(int argc, char *argv[])
 
         #include "output.H"
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info << "Number of steps = " << runTime.timeIndex() << endl;
diff --git a/applications/solvers/combustion/coldEngineFoam/coldEngineFoam.C b/applications/solvers/combustion/coldEngineFoam/coldEngineFoam.C
index 9d42388cbad0bdee13488788b5fae8f64f1dbce3..7c442bafcbb6bc4503daed4d6bc580a2f3f15df5 100644
--- a/applications/solvers/combustion/coldEngineFoam/coldEngineFoam.C
+++ b/applications/solvers/combustion/coldEngineFoam/coldEngineFoam.C
@@ -106,9 +106,7 @@ int main(int argc, char *argv[])
 
         #include "logSummary.H"
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/combustion/engineFoam/engineFoam.C b/applications/solvers/combustion/engineFoam/engineFoam.C
index 19ad61e610e5b29e22b1ecf68f51a5c956d05ae1..a1f29f3e1f8b8de02368efa88c2743b331e49075 100644
--- a/applications/solvers/combustion/engineFoam/engineFoam.C
+++ b/applications/solvers/combustion/engineFoam/engineFoam.C
@@ -140,9 +140,7 @@ int main(int argc, char *argv[])
 
         runTime.write();
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/combustion/fireFoam/fireFoam.C b/applications/solvers/combustion/fireFoam/fireFoam.C
index cc7f5d879ef6d14d12639a46bcdbdba29635859a..6b068cc3029f426b8bf78df818f4aea6232dfe34 100644
--- a/applications/solvers/combustion/fireFoam/fireFoam.C
+++ b/applications/solvers/combustion/fireFoam/fireFoam.C
@@ -118,9 +118,7 @@ int main(int argc, char *argv[])
 
         runTime.write();
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End" << endl;
diff --git a/applications/solvers/combustion/reactingFoam/reactingFoam.C b/applications/solvers/combustion/reactingFoam/reactingFoam.C
index d3e1b19ad38b37b22bcef3b81fd336e0c9570bc7..e2e8291661ef042c04982db7cd16d7bd2936eae2 100644
--- a/applications/solvers/combustion/reactingFoam/reactingFoam.C
+++ b/applications/solvers/combustion/reactingFoam/reactingFoam.C
@@ -119,9 +119,7 @@ int main(int argc, char *argv[])
 
         runTime.write();
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/rhoReactingBuoyantFoam.C b/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/rhoReactingBuoyantFoam.C
index ae94c219a1ea7e8ed4be13e540d4d57c6d0be6c1..f3b0b6d32607e6cda22c3ca44083c8b64c459589 100644
--- a/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/rhoReactingBuoyantFoam.C
+++ b/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/rhoReactingBuoyantFoam.C
@@ -113,9 +113,7 @@ int main(int argc, char *argv[])
 
         runTime.write();
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/combustion/reactingFoam/rhoReactingFoam/rhoReactingFoam.C b/applications/solvers/combustion/reactingFoam/rhoReactingFoam/rhoReactingFoam.C
index 5be897c6c7f4903ea4bf33d561c7b0a1ca48db46..195b80735e18b4b25a1342b4930f62e70e2d386b 100644
--- a/applications/solvers/combustion/reactingFoam/rhoReactingFoam/rhoReactingFoam.C
+++ b/applications/solvers/combustion/reactingFoam/rhoReactingFoam/rhoReactingFoam.C
@@ -121,9 +121,7 @@ int main(int argc, char *argv[])
 
         runTime.write();
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/compressible/rhoCentralFoam/rhoCentralDyMFoam/rhoCentralDyMFoam.C b/applications/solvers/compressible/rhoCentralFoam/rhoCentralDyMFoam/rhoCentralDyMFoam.C
index 47047c702fe98781b48d7bb6988da3d9609ad82f..35469637d13410cfe670ef322b7d1b5f3387c16f 100644
--- a/applications/solvers/compressible/rhoCentralFoam/rhoCentralDyMFoam/rhoCentralDyMFoam.C
+++ b/applications/solvers/compressible/rhoCentralFoam/rhoCentralDyMFoam/rhoCentralDyMFoam.C
@@ -266,9 +266,7 @@ int main(int argc, char *argv[])
 
         runTime.write();
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/compressible/rhoCentralFoam/rhoCentralFoam.C b/applications/solvers/compressible/rhoCentralFoam/rhoCentralFoam.C
index cd6fb827dd3aa71584c26fdc03457a0c1a124923..6ec612d820163f2c5fade3e0604af366d1dada2a 100644
--- a/applications/solvers/compressible/rhoCentralFoam/rhoCentralFoam.C
+++ b/applications/solvers/compressible/rhoCentralFoam/rhoCentralFoam.C
@@ -254,9 +254,7 @@ int main(int argc, char *argv[])
 
         runTime.write();
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/compressible/rhoPimpleAdiabaticFoam/rhoPimpleAdiabaticFoam.C b/applications/solvers/compressible/rhoPimpleAdiabaticFoam/rhoPimpleAdiabaticFoam.C
index c122090869a153352c6f431f9820a9e25db1db64..c1b574a2c97283fada1cad9bfe1561ecf179c33b 100644
--- a/applications/solvers/compressible/rhoPimpleAdiabaticFoam/rhoPimpleAdiabaticFoam.C
+++ b/applications/solvers/compressible/rhoPimpleAdiabaticFoam/rhoPimpleAdiabaticFoam.C
@@ -115,9 +115,7 @@ int main(int argc, char *argv[])
 
         runTime.write();
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/compressible/rhoPimpleFoam/overRhoPimpleDyMFoam/rhoPimpleDyMFoam.C b/applications/solvers/compressible/rhoPimpleFoam/overRhoPimpleDyMFoam/rhoPimpleDyMFoam.C
index 67c12334cd40ce601d55b3d0a59461c161d3d9cb..4260feb58c091ee0ce785da27c9c6f743e4769f6 100644
--- a/applications/solvers/compressible/rhoPimpleFoam/overRhoPimpleDyMFoam/rhoPimpleDyMFoam.C
+++ b/applications/solvers/compressible/rhoPimpleFoam/overRhoPimpleDyMFoam/rhoPimpleDyMFoam.C
@@ -157,9 +157,7 @@ int main(int argc, char *argv[])
 
         runTime.write();
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/compressible/rhoPimpleFoam/rhoPimpleDyMFoam/rhoPimpleDyMFoam.C b/applications/solvers/compressible/rhoPimpleFoam/rhoPimpleDyMFoam/rhoPimpleDyMFoam.C
index 493b35f692040550a888b5efc79bd10266b8642b..dcd73ffc68d8d897cb4669966759f9f8272ae435 100644
--- a/applications/solvers/compressible/rhoPimpleFoam/rhoPimpleDyMFoam/rhoPimpleDyMFoam.C
+++ b/applications/solvers/compressible/rhoPimpleFoam/rhoPimpleDyMFoam/rhoPimpleDyMFoam.C
@@ -152,9 +152,7 @@ int main(int argc, char *argv[])
 
         runTime.write();
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/compressible/rhoPimpleFoam/rhoPimpleFoam.C b/applications/solvers/compressible/rhoPimpleFoam/rhoPimpleFoam.C
index 5d5ed3f5f4c3961b3e2e941e4a42278d73038bb5..120b81f0f7d7ef7431c32b2f9f9d855865f6dcff 100644
--- a/applications/solvers/compressible/rhoPimpleFoam/rhoPimpleFoam.C
+++ b/applications/solvers/compressible/rhoPimpleFoam/rhoPimpleFoam.C
@@ -126,9 +126,7 @@ int main(int argc, char *argv[])
 
         runTime.write();
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/compressible/rhoSimpleFoam/overRhoSimpleFoam/rhoSimpleFoam.C b/applications/solvers/compressible/rhoSimpleFoam/overRhoSimpleFoam/rhoSimpleFoam.C
index d2aced63758c73a662c69f5ea2126f9e6d20ac9b..d72329b0f9baa593c7693c0560d4ce1cac47d7ca 100644
--- a/applications/solvers/compressible/rhoSimpleFoam/overRhoSimpleFoam/rhoSimpleFoam.C
+++ b/applications/solvers/compressible/rhoSimpleFoam/overRhoSimpleFoam/rhoSimpleFoam.C
@@ -78,9 +78,7 @@ int main(int argc, char *argv[])
 
         runTime.write();
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/rhoPorousSimpleFoam.C b/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/rhoPorousSimpleFoam.C
index 548a7dd1307768e3e56e100a6d2fec0445082a16..967e754035ca79731b7c413670a4e2b336ce1562 100644
--- a/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/rhoPorousSimpleFoam.C
+++ b/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/rhoPorousSimpleFoam.C
@@ -76,9 +76,8 @@ int main(int argc, char *argv[])
         turbulence->correct();
 
         runTime.write();
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/compressible/rhoSimpleFoam/rhoSimpleFoam.C b/applications/solvers/compressible/rhoSimpleFoam/rhoSimpleFoam.C
index 9cae9c3e28ad28a956ac43554ef9a66c74c58d7c..89fa908d82f83ffc0c54bfea818be19cba317e2f 100644
--- a/applications/solvers/compressible/rhoSimpleFoam/rhoSimpleFoam.C
+++ b/applications/solvers/compressible/rhoSimpleFoam/rhoSimpleFoam.C
@@ -81,9 +81,7 @@ int main(int argc, char *argv[])
 
         runTime.write();
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/compressible/sonicFoam/sonicDyMFoam/sonicDyMFoam.C b/applications/solvers/compressible/sonicFoam/sonicDyMFoam/sonicDyMFoam.C
index 31b0a6e6141c6dd5bdaa92ae73d0bec239403c25..60dd32589c7c322a97bb386cdba52cb116f00cb9 100644
--- a/applications/solvers/compressible/sonicFoam/sonicDyMFoam/sonicDyMFoam.C
+++ b/applications/solvers/compressible/sonicFoam/sonicDyMFoam/sonicDyMFoam.C
@@ -134,9 +134,7 @@ int main(int argc, char *argv[])
 
         runTime.write();
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/compressible/sonicFoam/sonicFoam.C b/applications/solvers/compressible/sonicFoam/sonicFoam.C
index c2da0f2255af694d80df5b658846e82b57107ae6..90037c2c56f109df67fc9196758d7aac28680253 100644
--- a/applications/solvers/compressible/sonicFoam/sonicFoam.C
+++ b/applications/solvers/compressible/sonicFoam/sonicFoam.C
@@ -90,9 +90,7 @@ int main(int argc, char *argv[])
 
         runTime.write();
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/compressible/sonicFoam/sonicLiquidFoam/sonicLiquidFoam.C b/applications/solvers/compressible/sonicFoam/sonicLiquidFoam/sonicLiquidFoam.C
index e96992a64abf5d92c48f0148dc3e1371aba9e549..619b704c31b2f49b8fe0f81990b41eaf4d98b8c3 100644
--- a/applications/solvers/compressible/sonicFoam/sonicLiquidFoam/sonicLiquidFoam.C
+++ b/applications/solvers/compressible/sonicFoam/sonicLiquidFoam/sonicLiquidFoam.C
@@ -121,9 +121,7 @@ int main(int argc, char *argv[])
 
         runTime.write();
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/discreteMethods/dsmc/dsmcFoam/dsmcFoam.C b/applications/solvers/discreteMethods/dsmc/dsmcFoam/dsmcFoam.C
index 9ae2e4efd701a7da9526255eeb4863294eb2f1ac..725c36f1231662a0d0455a63a1387f7104410f22 100644
--- a/applications/solvers/discreteMethods/dsmc/dsmcFoam/dsmcFoam.C
+++ b/applications/solvers/discreteMethods/dsmc/dsmcFoam/dsmcFoam.C
@@ -62,9 +62,8 @@ int main(int argc, char *argv[])
 
         runTime.write();
 
-        Info<< nl << "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        Info<< nl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/discreteMethods/molecularDynamics/mdEquilibrationFoam/mdEquilibrationFoam.C b/applications/solvers/discreteMethods/molecularDynamics/mdEquilibrationFoam/mdEquilibrationFoam.C
index 3fcce4e0e27be2d2375c6d2edc1053d392a1dcf0..3302b6d0735ea0e736eef68d199f3e16983b04c2 100644
--- a/applications/solvers/discreteMethods/molecularDynamics/mdEquilibrationFoam/mdEquilibrationFoam.C
+++ b/applications/solvers/discreteMethods/molecularDynamics/mdEquilibrationFoam/mdEquilibrationFoam.C
@@ -90,9 +90,7 @@ int main(int argc, char *argv[])
             nAveragingSteps = 0;
         }
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/discreteMethods/molecularDynamics/mdFoam/mdFoam.C b/applications/solvers/discreteMethods/molecularDynamics/mdFoam/mdFoam.C
index ca8709904beb4aedaec207c1f458f7225a0d2a5c..a9bbd6d32f3e0c34e7b29c98181e49816f296256 100644
--- a/applications/solvers/discreteMethods/molecularDynamics/mdFoam/mdFoam.C
+++ b/applications/solvers/discreteMethods/molecularDynamics/mdFoam/mdFoam.C
@@ -72,9 +72,7 @@ int main(int argc, char *argv[])
             nAveragingSteps = 0;
         }
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/electromagnetics/electrostaticFoam/electrostaticFoam.C b/applications/solvers/electromagnetics/electrostaticFoam/electrostaticFoam.C
index 5c4a248df0a6f389351b0956feb56fbb7ff2e035..6ecf1c804b0cefa20542f13d031d7b6238fe78e1 100644
--- a/applications/solvers/electromagnetics/electrostaticFoam/electrostaticFoam.C
+++ b/applications/solvers/electromagnetics/electrostaticFoam/electrostaticFoam.C
@@ -66,9 +66,7 @@ int main(int argc, char *argv[])
 
         runTime.write();
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/financial/financialFoam/financialFoam.C b/applications/solvers/financial/financialFoam/financialFoam.C
index 47b28a4184452bda7a908c63e1ae50e57a6a6db7..5af22900114fe9c01a6c94de9aa83a96f4217c0e 100644
--- a/applications/solvers/financial/financialFoam/financialFoam.C
+++ b/applications/solvers/financial/financialFoam/financialFoam.C
@@ -80,9 +80,7 @@ int main(int argc, char *argv[])
             writeCellGraph(delta, runTime.graphFormat());
         }
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/finiteArea/liquidFilmFoam/liquidFilmFoam.C b/applications/solvers/finiteArea/liquidFilmFoam/liquidFilmFoam.C
index 1f1f8e389dbf03f790b39214a15ba110ded4bbbc..31d049d2cb8b9611d5680a16ff16044051704dd4 100644
--- a/applications/solvers/finiteArea/liquidFilmFoam/liquidFilmFoam.C
+++ b/applications/solvers/finiteArea/liquidFilmFoam/liquidFilmFoam.C
@@ -146,9 +146,7 @@ int main(int argc, char *argv[])
             runTime.write();
         }
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/finiteArea/sphereSurfactantFoam/surfactantFoam.C b/applications/solvers/finiteArea/sphereSurfactantFoam/surfactantFoam.C
index 893d46284d4b24d8d6fe5d6782f08d8eb3732066..daee7e9e592b7fb605f72a7b698725740dd79363 100644
--- a/applications/solvers/finiteArea/sphereSurfactantFoam/surfactantFoam.C
+++ b/applications/solvers/finiteArea/sphereSurfactantFoam/surfactantFoam.C
@@ -77,9 +77,7 @@ int main(int argc, char *argv[])
         Info<< "Total mass of surfactant: "
             << sum(Cs.internalField()*aMesh.S()) << endl;
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/finiteArea/surfactantFoam/surfactantFoam.C b/applications/solvers/finiteArea/surfactantFoam/surfactantFoam.C
index 630ca8e668d1a1d1c96f554b61225125b6cd3aef..4a0d63a89c8eb6b7266a44b7c84d8f64328ff1ef 100644
--- a/applications/solvers/finiteArea/surfactantFoam/surfactantFoam.C
+++ b/applications/solvers/finiteArea/surfactantFoam/surfactantFoam.C
@@ -100,9 +100,7 @@ int main(int argc, char *argv[])
         Info<< "Total mass of surfactant: "
             << sum(Cs.internalField()*aMesh.S()) << endl;
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/buoyantBoussinesqPimpleFoam.C b/applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/buoyantBoussinesqPimpleFoam.C
index e69f06819ff203dd3aefcefee51ff79b2a37e0e1..2a453d933b30b71e28306a46e78847d19f85a0ea 100644
--- a/applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/buoyantBoussinesqPimpleFoam.C
+++ b/applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/buoyantBoussinesqPimpleFoam.C
@@ -109,9 +109,7 @@ int main(int argc, char *argv[])
 
         runTime.write();
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/buoyantBoussinesqSimpleFoam.C b/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/buoyantBoussinesqSimpleFoam.C
index 0cca77af0b2ecceb01b49a8c7ebd6b3fab40ff9d..604484d6ea3a1468653afcd65f9b22436fe32a4b 100644
--- a/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/buoyantBoussinesqSimpleFoam.C
+++ b/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/buoyantBoussinesqSimpleFoam.C
@@ -91,9 +91,7 @@ int main(int argc, char *argv[])
 
         runTime.write();
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/heatTransfer/buoyantPimpleFoam/buoyantPimpleFoam.C b/applications/solvers/heatTransfer/buoyantPimpleFoam/buoyantPimpleFoam.C
index 3f032deb98ae58096ff47b2364e7adc8d63438b3..a3bbf07b198875810d4a864e44f3685d74faf8b2 100644
--- a/applications/solvers/heatTransfer/buoyantPimpleFoam/buoyantPimpleFoam.C
+++ b/applications/solvers/heatTransfer/buoyantPimpleFoam/buoyantPimpleFoam.C
@@ -101,9 +101,7 @@ int main(int argc, char *argv[])
 
         runTime.write();
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/heatTransfer/buoyantSimpleFoam/buoyantSimpleFoam.C b/applications/solvers/heatTransfer/buoyantSimpleFoam/buoyantSimpleFoam.C
index 42d9c2780c0806c3b1762e683afaa1115672a6f6..ba03a2674d8f181e3e8a658c5253b4527bdc5613 100644
--- a/applications/solvers/heatTransfer/buoyantSimpleFoam/buoyantSimpleFoam.C
+++ b/applications/solvers/heatTransfer/buoyantSimpleFoam/buoyantSimpleFoam.C
@@ -76,9 +76,7 @@ int main(int argc, char *argv[])
 
         runTime.write();
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionFoam.C b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionFoam.C
index 80e7e78fbba68faa4f1c7ab1d7a97831d99231f8..ab34e7873ee46e54a2c21fe2828a69ab452cccde 100644
--- a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionFoam.C
+++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionFoam.C
@@ -146,9 +146,7 @@ int main(int argc, char *argv[])
 
         runTime.write();
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/chtMultiRegionSimpleFoam.C b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/chtMultiRegionSimpleFoam.C
index 20aa2d59cd2b8462b3a48fbc693c7e735b5de48a..12c7ac5514f6f54594cc46b57aad29fa7662409e 100644
--- a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/chtMultiRegionSimpleFoam.C
+++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/chtMultiRegionSimpleFoam.C
@@ -111,9 +111,7 @@ int main(int argc, char *argv[])
 
         runTime.write();
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/heatTransfer/thermoFoam/thermoFoam.C b/applications/solvers/heatTransfer/thermoFoam/thermoFoam.C
index ea5012e72eaba0a28bb8aa7d81f713842da475ac..285f536af8a36b562064ff76616fa83535c0a0fb 100644
--- a/applications/solvers/heatTransfer/thermoFoam/thermoFoam.C
+++ b/applications/solvers/heatTransfer/thermoFoam/thermoFoam.C
@@ -71,11 +71,9 @@ int main(int argc, char *argv[])
                 #include "EEqn.H"
             }
 
-            Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-                << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-                << nl << endl;
-
             runTime.write();
+
+            runTime.printExecutionTime(Info);
         }
     }
     else
@@ -93,11 +91,9 @@ int main(int argc, char *argv[])
                 #include "EEqn.H"
             }
 
-            Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-                << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-                << nl << endl;
-
             runTime.write();
+
+            runTime.printExecutionTime(Info);
         }
     }
 
diff --git a/applications/solvers/incompressible/adjointShapeOptimizationFoam/adjointShapeOptimizationFoam.C b/applications/solvers/incompressible/adjointShapeOptimizationFoam/adjointShapeOptimizationFoam.C
index 7296a8cb37b5e83b70ac4e1a315b7c53ce1977ab..0b36208ba93e17787fe2c21bbca2b44d432f461c 100644
--- a/applications/solvers/incompressible/adjointShapeOptimizationFoam/adjointShapeOptimizationFoam.C
+++ b/applications/solvers/incompressible/adjointShapeOptimizationFoam/adjointShapeOptimizationFoam.C
@@ -236,9 +236,7 @@ int main(int argc, char *argv[])
 
         runTime.write();
 
-        Info<< "ExecutionTime = "
-            << runTime.elapsedCpuTime()
-            << " s\n\n" << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/incompressible/boundaryFoam/boundaryFoam.C b/applications/solvers/incompressible/boundaryFoam/boundaryFoam.C
index b3cef57dcee51209122da15d2a887a4f12d4e7c6..7ed87e218eaa883cb4a515ec30e23d5269e1f6a8 100644
--- a/applications/solvers/incompressible/boundaryFoam/boundaryFoam.C
+++ b/applications/solvers/incompressible/boundaryFoam/boundaryFoam.C
@@ -106,9 +106,7 @@ int main(int argc, char *argv[])
             #include "makeGraphs.H"
         }
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/incompressible/icoFoam/icoFoam.C b/applications/solvers/incompressible/icoFoam/icoFoam.C
index dc3644fb9f1000df67ff698dd7ccab2b8f9dd575..90057926b1c15c43c490a47abcf0244a064d4f45 100644
--- a/applications/solvers/incompressible/icoFoam/icoFoam.C
+++ b/applications/solvers/incompressible/icoFoam/icoFoam.C
@@ -145,9 +145,7 @@ int main(int argc, char *argv[])
 
         runTime.write();
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/incompressible/nonNewtonianIcoFoam/nonNewtonianIcoFoam.C b/applications/solvers/incompressible/nonNewtonianIcoFoam/nonNewtonianIcoFoam.C
index f380d435a1811a58ee5ff57752d4114f1e7daf04..713906aaf35b8179c52fb67d6ece14bee52f1ef2 100644
--- a/applications/solvers/incompressible/nonNewtonianIcoFoam/nonNewtonianIcoFoam.C
+++ b/applications/solvers/incompressible/nonNewtonianIcoFoam/nonNewtonianIcoFoam.C
@@ -121,9 +121,7 @@ int main(int argc, char *argv[])
 
         runTime.write();
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/incompressible/pimpleFoam/SRFPimpleFoam/SRFPimpleFoam.C b/applications/solvers/incompressible/pimpleFoam/SRFPimpleFoam/SRFPimpleFoam.C
index bd4bcaf2b4d18a5b837b2dbddebb779b1606ec6c..99af095921a8d61e6edd460358a330f2b506f0e5 100644
--- a/applications/solvers/incompressible/pimpleFoam/SRFPimpleFoam/SRFPimpleFoam.C
+++ b/applications/solvers/incompressible/pimpleFoam/SRFPimpleFoam/SRFPimpleFoam.C
@@ -96,9 +96,7 @@ int main(int argc, char *argv[])
 
         runTime.write();
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/incompressible/pimpleFoam/overPimpleDyMFoam/pimpleDyMFoam.C b/applications/solvers/incompressible/pimpleFoam/overPimpleDyMFoam/pimpleDyMFoam.C
index fe477e99bc8f9c648edddec3b82d8f2e77450999..b41b2ece31fa49700c4e0f4d5413cf8cf9b9d50c 100644
--- a/applications/solvers/incompressible/pimpleFoam/overPimpleDyMFoam/pimpleDyMFoam.C
+++ b/applications/solvers/incompressible/pimpleFoam/overPimpleDyMFoam/pimpleDyMFoam.C
@@ -132,9 +132,7 @@ int main(int argc, char *argv[])
 
         runTime.write();
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/incompressible/pimpleFoam/pimpleDyMFoam/pimpleDyMFoam.C b/applications/solvers/incompressible/pimpleFoam/pimpleDyMFoam/pimpleDyMFoam.C
index 3c0f7b99e2631988a9a1c73a7dad1fb93efb2007..47a3bd4ce2d5be690bd0741b865db46c74757ea0 100644
--- a/applications/solvers/incompressible/pimpleFoam/pimpleDyMFoam/pimpleDyMFoam.C
+++ b/applications/solvers/incompressible/pimpleFoam/pimpleDyMFoam/pimpleDyMFoam.C
@@ -114,9 +114,7 @@ int main(int argc, char *argv[])
 
         runTime.write();
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/incompressible/pimpleFoam/pimpleFoam.C b/applications/solvers/incompressible/pimpleFoam/pimpleFoam.C
index 16b91c9074c39dfe2afc21ac15fb8a6dbf9756be..46e18dcfee6c805d6ce1cfcedb66cc8dc144d40e 100644
--- a/applications/solvers/incompressible/pimpleFoam/pimpleFoam.C
+++ b/applications/solvers/incompressible/pimpleFoam/pimpleFoam.C
@@ -124,9 +124,7 @@ int main(int argc, char *argv[])
 
         runTime.write();
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/incompressible/pisoFoam/pisoFoam.C b/applications/solvers/incompressible/pisoFoam/pisoFoam.C
index 229d9487832995344c23d10aeb1eaf60255ebf05..ebe88caafcf364f4e11e91f75d89fb59cdce7795 100644
--- a/applications/solvers/incompressible/pisoFoam/pisoFoam.C
+++ b/applications/solvers/incompressible/pisoFoam/pisoFoam.C
@@ -113,9 +113,7 @@ int main(int argc, char *argv[])
 
         runTime.write();
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/incompressible/shallowWaterFoam/shallowWaterFoam.C b/applications/solvers/incompressible/shallowWaterFoam/shallowWaterFoam.C
index 76f6f0e0a46ab3e4d86017a9a1b5ccf1177b36be..c069cb0d03e3741b9157374e05dff0323d050d2f 100644
--- a/applications/solvers/incompressible/shallowWaterFoam/shallowWaterFoam.C
+++ b/applications/solvers/incompressible/shallowWaterFoam/shallowWaterFoam.C
@@ -152,9 +152,7 @@ int main(int argc, char *argv[])
 
         runTime.write();
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/SRFSimpleFoam.C b/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/SRFSimpleFoam.C
index 849c8a20f0360328e4e514e0fa3c22313a851de5..7d6e15007a9c38c53f4aae0da6651e586442ff59 100644
--- a/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/SRFSimpleFoam.C
+++ b/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/SRFSimpleFoam.C
@@ -77,9 +77,7 @@ int main(int argc, char *argv[])
 
         runTime.write();
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/incompressible/simpleFoam/overSimpleFoam/simpleFoam.C b/applications/solvers/incompressible/simpleFoam/overSimpleFoam/simpleFoam.C
index 4a7cf1315bef8be4775c3e22a2ee9ad021826033..12074885404c8147bff83358d61a22f0129cba94 100644
--- a/applications/solvers/incompressible/simpleFoam/overSimpleFoam/simpleFoam.C
+++ b/applications/solvers/incompressible/simpleFoam/overSimpleFoam/simpleFoam.C
@@ -111,9 +111,7 @@ int main(int argc, char *argv[])
 
         runTime.write();
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/porousSimpleFoam.C b/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/porousSimpleFoam.C
index d97ff4cda3247a597604ce583cd6cf3bf43edfd8..2e0f67a53f2f702c5a99b826fe61482ab3475c5e 100644
--- a/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/porousSimpleFoam.C
+++ b/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/porousSimpleFoam.C
@@ -78,9 +78,7 @@ int main(int argc, char *argv[])
 
         runTime.write();
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/incompressible/simpleFoam/simpleFoam.C b/applications/solvers/incompressible/simpleFoam/simpleFoam.C
index e841f0bc6fcd2c5ec2cb174ac0cb60afd485500e..caaf58c3b8699c10d54905f8ec18a7fcf825e02b 100644
--- a/applications/solvers/incompressible/simpleFoam/simpleFoam.C
+++ b/applications/solvers/incompressible/simpleFoam/simpleFoam.C
@@ -102,9 +102,7 @@ int main(int argc, char *argv[])
 
         runTime.write();
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/lagrangian/DPMFoam/DPMDyMFoam/DPMDyMFoam.C b/applications/solvers/lagrangian/DPMFoam/DPMDyMFoam/DPMDyMFoam.C
index a282ef19a98ccb00bffb7d4198c99d369c6e00c8..6f90b9c11933336abf3dc331a7cca4e5e0daecc7 100644
--- a/applications/solvers/lagrangian/DPMFoam/DPMDyMFoam/DPMDyMFoam.C
+++ b/applications/solvers/lagrangian/DPMFoam/DPMDyMFoam/DPMDyMFoam.C
@@ -147,9 +147,7 @@ int main(int argc, char *argv[])
 
         runTime.write();
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/lagrangian/DPMFoam/DPMFoam.C b/applications/solvers/lagrangian/DPMFoam/DPMFoam.C
index 174e165f496159b7ad6f96d3baf557b3c6bf441d..aa1e808be3651d445427a42b3a812479f8ce8897 100644
--- a/applications/solvers/lagrangian/DPMFoam/DPMFoam.C
+++ b/applications/solvers/lagrangian/DPMFoam/DPMFoam.C
@@ -127,9 +127,7 @@ int main(int argc, char *argv[])
 
         runTime.write();
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/lagrangian/coalChemistryFoam/coalChemistryFoam.C b/applications/solvers/lagrangian/coalChemistryFoam/coalChemistryFoam.C
index c7ea95929c950877d6c3f1ce512aa3659988672a..269997ed793a3c31f7ffc913982c3fa2b2d6c13d 100644
--- a/applications/solvers/lagrangian/coalChemistryFoam/coalChemistryFoam.C
+++ b/applications/solvers/lagrangian/coalChemistryFoam/coalChemistryFoam.C
@@ -124,9 +124,7 @@ int main(int argc, char *argv[])
 
         runTime.write();
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/lagrangian/icoUncoupledKinematicParcelFoam/icoUncoupledKinematicParcelDyMFoam/icoUncoupledKinematicParcelDyMFoam.C b/applications/solvers/lagrangian/icoUncoupledKinematicParcelFoam/icoUncoupledKinematicParcelDyMFoam/icoUncoupledKinematicParcelDyMFoam.C
index 00c66823eafde1ddd85295da714ac2acd0b6721c..418935b5c744927935ec6599cff55a1da35a7dbd 100644
--- a/applications/solvers/lagrangian/icoUncoupledKinematicParcelFoam/icoUncoupledKinematicParcelDyMFoam/icoUncoupledKinematicParcelDyMFoam.C
+++ b/applications/solvers/lagrangian/icoUncoupledKinematicParcelFoam/icoUncoupledKinematicParcelDyMFoam/icoUncoupledKinematicParcelDyMFoam.C
@@ -84,9 +84,7 @@ int main(int argc, char *argv[])
 
         runTime.write();
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/lagrangian/icoUncoupledKinematicParcelFoam/icoUncoupledKinematicParcelFoam.C b/applications/solvers/lagrangian/icoUncoupledKinematicParcelFoam/icoUncoupledKinematicParcelFoam.C
index 6b64ce99f3ec5c85dec29edff53244b5a5615d54..b3d0fa2471136247a37ce334d31de29293f2a8c9 100644
--- a/applications/solvers/lagrangian/icoUncoupledKinematicParcelFoam/icoUncoupledKinematicParcelFoam.C
+++ b/applications/solvers/lagrangian/icoUncoupledKinematicParcelFoam/icoUncoupledKinematicParcelFoam.C
@@ -77,9 +77,7 @@ int main(int argc, char *argv[])
 
         runTime.write();
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/lagrangian/reactingParcelFoam/reactingParcelFoam.C b/applications/solvers/lagrangian/reactingParcelFoam/reactingParcelFoam.C
index 497aa835a574ba23a0d76530357bd05195fcd164..57a285028b426e5000dbf258bdc0fa30c5406974 100644
--- a/applications/solvers/lagrangian/reactingParcelFoam/reactingParcelFoam.C
+++ b/applications/solvers/lagrangian/reactingParcelFoam/reactingParcelFoam.C
@@ -126,9 +126,7 @@ int main(int argc, char *argv[])
 
         runTime.write();
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End" << endl;
diff --git a/applications/solvers/lagrangian/reactingParcelFoam/simpleReactingParcelFoam/simpleReactingParcelFoam.C b/applications/solvers/lagrangian/reactingParcelFoam/simpleReactingParcelFoam/simpleReactingParcelFoam.C
index a5092143a95af4ef699330b442addedee2bad734..f9ba557872ecb2c15872ce4ba913c7e6bf701b19 100644
--- a/applications/solvers/lagrangian/reactingParcelFoam/simpleReactingParcelFoam/simpleReactingParcelFoam.C
+++ b/applications/solvers/lagrangian/reactingParcelFoam/simpleReactingParcelFoam/simpleReactingParcelFoam.C
@@ -79,9 +79,7 @@ int main(int argc, char *argv[])
 
         runTime.write();
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/lagrangian/simpleCoalParcelFoam/simpleCoalParcelFoam.C b/applications/solvers/lagrangian/simpleCoalParcelFoam/simpleCoalParcelFoam.C
index 12ac28ccdfd5b4cdb1e76528d74f3b32d6bdd849..e15156250e31129bcfca092e20e56fd207e8348d 100644
--- a/applications/solvers/lagrangian/simpleCoalParcelFoam/simpleCoalParcelFoam.C
+++ b/applications/solvers/lagrangian/simpleCoalParcelFoam/simpleCoalParcelFoam.C
@@ -83,9 +83,7 @@ int main(int argc, char *argv[])
 
         runTime.write();
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/lagrangian/sprayFoam/sprayDyMFoam/sprayDyMFoam.C b/applications/solvers/lagrangian/sprayFoam/sprayDyMFoam/sprayDyMFoam.C
index 40acccae9e10d6fcda7a9891163543792a335f4b..710ce766ebc6da168fa34ed82c961be2b1732839 100644
--- a/applications/solvers/lagrangian/sprayFoam/sprayDyMFoam/sprayDyMFoam.C
+++ b/applications/solvers/lagrangian/sprayFoam/sprayDyMFoam/sprayDyMFoam.C
@@ -144,9 +144,7 @@ int main(int argc, char *argv[])
             combustion->Qdot()().write();
         }
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/lagrangian/sprayFoam/sprayEngineFoam/sprayEngineFoam.C b/applications/solvers/lagrangian/sprayFoam/sprayEngineFoam/sprayEngineFoam.C
index 21646fed97ca9c390306f1160da7c7ffcb297f16..2aff98b4987e6d62088877f400419a63049fe50f 100644
--- a/applications/solvers/lagrangian/sprayFoam/sprayEngineFoam/sprayEngineFoam.C
+++ b/applications/solvers/lagrangian/sprayFoam/sprayEngineFoam/sprayEngineFoam.C
@@ -116,9 +116,7 @@ int main(int argc, char *argv[])
             combustion->Qdot()().write();
         }
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/lagrangian/sprayFoam/sprayFoam.C b/applications/solvers/lagrangian/sprayFoam/sprayFoam.C
index a4eaaeaad56e2b5bab96459286ca950f52cab177..96dd72220fe01528d30f281bc1f6fb6f41b7a5b4 100644
--- a/applications/solvers/lagrangian/sprayFoam/sprayFoam.C
+++ b/applications/solvers/lagrangian/sprayFoam/sprayFoam.C
@@ -116,9 +116,7 @@ int main(int argc, char *argv[])
             }
         }
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/lagrangian/uncoupledKinematicParcelFoam/uncoupledKinematicParcelDyMFoam/uncoupledKinematicParcelDyMFoam.C b/applications/solvers/lagrangian/uncoupledKinematicParcelFoam/uncoupledKinematicParcelDyMFoam/uncoupledKinematicParcelDyMFoam.C
index 18f8e638693e0aafe48347a90b8f8f694e013ebd..81b323c5d34c4d9a51059146e293d0d69d3a5620 100644
--- a/applications/solvers/lagrangian/uncoupledKinematicParcelFoam/uncoupledKinematicParcelDyMFoam/uncoupledKinematicParcelDyMFoam.C
+++ b/applications/solvers/lagrangian/uncoupledKinematicParcelFoam/uncoupledKinematicParcelDyMFoam/uncoupledKinematicParcelDyMFoam.C
@@ -76,9 +76,7 @@ int main(int argc, char *argv[])
 
         runTime.write();
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/lagrangian/uncoupledKinematicParcelFoam/uncoupledKinematicParcelFoam.C b/applications/solvers/lagrangian/uncoupledKinematicParcelFoam/uncoupledKinematicParcelFoam.C
index 006c98b7a8894a65879af2fc732cfe7c31075b63..987033f4d5ce8e80b682f16b76b4a71c8c9b604f 100644
--- a/applications/solvers/lagrangian/uncoupledKinematicParcelFoam/uncoupledKinematicParcelFoam.C
+++ b/applications/solvers/lagrangian/uncoupledKinematicParcelFoam/uncoupledKinematicParcelFoam.C
@@ -72,9 +72,7 @@ int main(int argc, char *argv[])
 
         runTime.write();
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/multiphase/MPPICInterFoam/MPPICInterFoam.C b/applications/solvers/multiphase/MPPICInterFoam/MPPICInterFoam.C
index d6fce4ef552178f73954e44ed0d9d85a4b34a1bf..6e6c8c0bf2a36f12c816334bbe58456466fac669 100644
--- a/applications/solvers/multiphase/MPPICInterFoam/MPPICInterFoam.C
+++ b/applications/solvers/multiphase/MPPICInterFoam/MPPICInterFoam.C
@@ -163,9 +163,7 @@ int main(int argc, char *argv[])
 
         runTime.write();
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/multiphase/cavitatingFoam/cavitatingDyMFoam/cavitatingDyMFoam.C b/applications/solvers/multiphase/cavitatingFoam/cavitatingDyMFoam/cavitatingDyMFoam.C
index 33ae61499ba3914f2b24760fb617b85ec26325a5..4ff3adb3c010b0ec65b6fce62f8d7002f06d8c0e 100644
--- a/applications/solvers/multiphase/cavitatingFoam/cavitatingDyMFoam/cavitatingDyMFoam.C
+++ b/applications/solvers/multiphase/cavitatingFoam/cavitatingDyMFoam/cavitatingDyMFoam.C
@@ -115,9 +115,7 @@ int main(int argc, char *argv[])
 
         runTime.write();
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/multiphase/cavitatingFoam/cavitatingFoam.C b/applications/solvers/multiphase/cavitatingFoam/cavitatingFoam.C
index bf4a49abc684668be5e2a1e03da5da98ccf276f3..2c59f602d87aa8b0896873dce669ac1d3f76a494 100644
--- a/applications/solvers/multiphase/cavitatingFoam/cavitatingFoam.C
+++ b/applications/solvers/multiphase/cavitatingFoam/cavitatingFoam.C
@@ -92,9 +92,7 @@ int main(int argc, char *argv[])
 
         runTime.write();
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/multiphase/compressibleInterFoam/compressibleInterDyMFoam/compressibleInterDyMFoam.C b/applications/solvers/multiphase/compressibleInterFoam/compressibleInterDyMFoam/compressibleInterDyMFoam.C
index 0366272631b57db546c7bdf3d2a5c2413591be83..78289362399fab2aa37eb954a4fa5aaa900ee3f9 100644
--- a/applications/solvers/multiphase/compressibleInterFoam/compressibleInterDyMFoam/compressibleInterDyMFoam.C
+++ b/applications/solvers/multiphase/compressibleInterFoam/compressibleInterDyMFoam/compressibleInterDyMFoam.C
@@ -173,9 +173,7 @@ int main(int argc, char *argv[])
 
         runTime.write();
 
-        Info<< "ExecutionTime = "
-            << runTime.elapsedCpuTime()
-            << " s\n\n" << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/multiphase/compressibleInterFoam/compressibleInterFilmFoam/compressibleInterFilmFoam.C b/applications/solvers/multiphase/compressibleInterFoam/compressibleInterFilmFoam/compressibleInterFilmFoam.C
index bc30ed8f603b584c5f3732662aab7ff6ba76d64c..598a0aec5d6682cafc0a0ebed61fd82f0960eb53 100644
--- a/applications/solvers/multiphase/compressibleInterFoam/compressibleInterFilmFoam/compressibleInterFilmFoam.C
+++ b/applications/solvers/multiphase/compressibleInterFoam/compressibleInterFilmFoam/compressibleInterFilmFoam.C
@@ -134,9 +134,7 @@ int main(int argc, char *argv[])
 
         runTime.write();
 
-        Info<< "ExecutionTime = "
-            << runTime.elapsedCpuTime()
-            << " s\n\n" << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/multiphase/compressibleInterFoam/compressibleInterFoam.C b/applications/solvers/multiphase/compressibleInterFoam/compressibleInterFoam.C
index e0e3c4459cf7d819a97f5df80b9ee40b19e762e1..1ed92af190957c8a5c7d505778b1a308742a1aed 100644
--- a/applications/solvers/multiphase/compressibleInterFoam/compressibleInterFoam.C
+++ b/applications/solvers/multiphase/compressibleInterFoam/compressibleInterFoam.C
@@ -128,9 +128,7 @@ int main(int argc, char *argv[])
 
         runTime.write();
 
-        Info<< "ExecutionTime = "
-            << runTime.elapsedCpuTime()
-            << " s\n\n" << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/multiphase/compressibleMultiphaseInterFoam/compressibleMultiphaseInterFoam.C b/applications/solvers/multiphase/compressibleMultiphaseInterFoam/compressibleMultiphaseInterFoam.C
index 18b1345fd590f7063b49a05370784900188da390..7b2365b728547cf0b112eaca7b40128b3c2400e9 100644
--- a/applications/solvers/multiphase/compressibleMultiphaseInterFoam/compressibleMultiphaseInterFoam.C
+++ b/applications/solvers/multiphase/compressibleMultiphaseInterFoam/compressibleMultiphaseInterFoam.C
@@ -102,9 +102,7 @@ int main(int argc, char *argv[])
 
         runTime.write();
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/multiphase/driftFluxFoam/driftFluxFoam.C b/applications/solvers/multiphase/driftFluxFoam/driftFluxFoam.C
index d8b3c48e79d36111e5ec3f198ef06ac955887e71..10b05e9e8113b2b6390f30939a866b86498eeacc 100644
--- a/applications/solvers/multiphase/driftFluxFoam/driftFluxFoam.C
+++ b/applications/solvers/multiphase/driftFluxFoam/driftFluxFoam.C
@@ -111,9 +111,7 @@ int main(int argc, char *argv[])
 
         runTime.write();
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/multiphase/interCondensatingEvaporatingFoam/interCondensatingEvaporatingFoam.C b/applications/solvers/multiphase/interCondensatingEvaporatingFoam/interCondensatingEvaporatingFoam.C
index 566f074b584890b317c4e28539ab16501221450f..3d0635a90377f2cfffb5eea3b8bbf967536f346d 100644
--- a/applications/solvers/multiphase/interCondensatingEvaporatingFoam/interCondensatingEvaporatingFoam.C
+++ b/applications/solvers/multiphase/interCondensatingEvaporatingFoam/interCondensatingEvaporatingFoam.C
@@ -130,9 +130,7 @@ int main(int argc, char *argv[])
 
         runTime.write();
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/multiphase/interFoam/interDyMFoam/interDyMFoam.C b/applications/solvers/multiphase/interFoam/interDyMFoam/interDyMFoam.C
index 615671b1a8308f0383d9529f8cddd3d8444bc6d2..956743a4cc6bf2dd706b787ae09215a428ed04af 100644
--- a/applications/solvers/multiphase/interFoam/interDyMFoam/interDyMFoam.C
+++ b/applications/solvers/multiphase/interFoam/interDyMFoam/interDyMFoam.C
@@ -182,9 +182,7 @@ int main(int argc, char *argv[])
 
         runTime.write();
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/multiphase/interFoam/interFoam.C b/applications/solvers/multiphase/interFoam/interFoam.C
index 356d795e152aa4ff9ddcbf4fe76f24c478bd2fb1..240c70581f9aa6fb9180d3f1342b28a4c2acfce8 100644
--- a/applications/solvers/multiphase/interFoam/interFoam.C
+++ b/applications/solvers/multiphase/interFoam/interFoam.C
@@ -131,9 +131,7 @@ int main(int argc, char *argv[])
 
         runTime.write();
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/multiphase/interFoam/interMixingFoam/interMixingFoam.C b/applications/solvers/multiphase/interFoam/interMixingFoam/interMixingFoam.C
index a2b92de3f976c0fa7efbe726c665fe8556aa07c3..d2c03d889746e834a04c25c9a6483b0d914f9a89 100644
--- a/applications/solvers/multiphase/interFoam/interMixingFoam/interMixingFoam.C
+++ b/applications/solvers/multiphase/interFoam/interMixingFoam/interMixingFoam.C
@@ -118,9 +118,7 @@ int main(int argc, char *argv[])
 
         runTime.write();
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/multiphase/interFoam/overInterDyMFoam/interDyMFoam.C b/applications/solvers/multiphase/interFoam/overInterDyMFoam/interDyMFoam.C
index c60310034e0464f9f343cabb98fc8153a96b228e..4ce1875beed325212bc3c8e2f953077dd2f10f86 100644
--- a/applications/solvers/multiphase/interFoam/overInterDyMFoam/interDyMFoam.C
+++ b/applications/solvers/multiphase/interFoam/overInterDyMFoam/interDyMFoam.C
@@ -196,9 +196,7 @@ int main(int argc, char *argv[])
 
         runTime.write();
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/multiphase/interIsoFoam/interIsoFoam.C b/applications/solvers/multiphase/interIsoFoam/interIsoFoam.C
index 14242048fcc8d819076dda24bda58266c15dfdfe..0405546bc6fdc0b9330895c4722f5ee3650e0ae5 100644
--- a/applications/solvers/multiphase/interIsoFoam/interIsoFoam.C
+++ b/applications/solvers/multiphase/interIsoFoam/interIsoFoam.C
@@ -129,9 +129,7 @@ int main(int argc, char *argv[])
 
         runTime.write();
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/multiphase/interPhaseChangeFoam/interPhaseChangeDyMFoam/interPhaseChangeDyMFoam.C b/applications/solvers/multiphase/interPhaseChangeFoam/interPhaseChangeDyMFoam/interPhaseChangeDyMFoam.C
index 8465100138bf7f032c4ec8b3ac1441d05134dbee..268fa2cce59d6ceb03f85fae5c64de0f3ca669d5 100644
--- a/applications/solvers/multiphase/interPhaseChangeFoam/interPhaseChangeDyMFoam/interPhaseChangeDyMFoam.C
+++ b/applications/solvers/multiphase/interPhaseChangeFoam/interPhaseChangeDyMFoam/interPhaseChangeDyMFoam.C
@@ -182,9 +182,7 @@ int main(int argc, char *argv[])
 
         runTime.write();
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/multiphase/interPhaseChangeFoam/interPhaseChangeFoam.C b/applications/solvers/multiphase/interPhaseChangeFoam/interPhaseChangeFoam.C
index 2998d3a78c15ca86e02bf669351ca4702a3f4314..7a710fdb8a5a3a4d42913049fa4f4f185af82346 100644
--- a/applications/solvers/multiphase/interPhaseChangeFoam/interPhaseChangeFoam.C
+++ b/applications/solvers/multiphase/interPhaseChangeFoam/interPhaseChangeFoam.C
@@ -122,9 +122,7 @@ int main(int argc, char *argv[])
 
         runTime.write();
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseEulerFoam.C b/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseEulerFoam.C
index 0c0686603f42992801df7d5151e3a93ae9ffcad5..debca9adecc5ab7e6e5572e0e35f5ad47013f4b2 100644
--- a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseEulerFoam.C
+++ b/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseEulerFoam.C
@@ -110,9 +110,7 @@ int main(int argc, char *argv[])
 
         runTime.write();
 
-        Info<< "ExecutionTime = "
-            << runTime.elapsedCpuTime()
-            << " s\n\n" << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/multiphase/multiphaseInterFoam/multiphaseInterDyMFoam/multiphaseInterDyMFoam.C b/applications/solvers/multiphase/multiphaseInterFoam/multiphaseInterDyMFoam/multiphaseInterDyMFoam.C
index 3b47907a2b0975f99d72e97556012cbad2f22c30..5a39281a848bbf142780e0afa62b65d4e1b5afc9 100644
--- a/applications/solvers/multiphase/multiphaseInterFoam/multiphaseInterDyMFoam/multiphaseInterDyMFoam.C
+++ b/applications/solvers/multiphase/multiphaseInterFoam/multiphaseInterDyMFoam/multiphaseInterDyMFoam.C
@@ -156,9 +156,7 @@ int main(int argc, char *argv[])
 
         runTime.write();
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/multiphase/multiphaseInterFoam/multiphaseInterFoam.C b/applications/solvers/multiphase/multiphaseInterFoam/multiphaseInterFoam.C
index 5a2e749f5e062cf0c608e9f5f99c11b31d81d837..8f4a59cf78800d23f134dae59ed152d30de2c231 100644
--- a/applications/solvers/multiphase/multiphaseInterFoam/multiphaseInterFoam.C
+++ b/applications/solvers/multiphase/multiphaseInterFoam/multiphaseInterFoam.C
@@ -101,9 +101,7 @@ int main(int argc, char *argv[])
 
         runTime.write();
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/multiphase/potentialFreeSurfaceFoam/potentialFreeSurfaceDyMFoam/potentialFreeSurfaceDyMFoam.C b/applications/solvers/multiphase/potentialFreeSurfaceFoam/potentialFreeSurfaceDyMFoam/potentialFreeSurfaceDyMFoam.C
index 1435d6b3628a14ed766acd248b77a3f4a662c693..18f511c5d8d49dbf32cb890cf46c8b2de27144a2 100644
--- a/applications/solvers/multiphase/potentialFreeSurfaceFoam/potentialFreeSurfaceDyMFoam/potentialFreeSurfaceDyMFoam.C
+++ b/applications/solvers/multiphase/potentialFreeSurfaceFoam/potentialFreeSurfaceDyMFoam/potentialFreeSurfaceDyMFoam.C
@@ -148,9 +148,7 @@ int main(int argc, char *argv[])
 
         runTime.write();
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/multiphase/potentialFreeSurfaceFoam/potentialFreeSurfaceFoam.C b/applications/solvers/multiphase/potentialFreeSurfaceFoam/potentialFreeSurfaceFoam.C
index 61918df33a9a1d9806498dbd92b4cf2c764becf6..5fe31eab7b3a7455ca871edcec52cb8294dad5de 100644
--- a/applications/solvers/multiphase/potentialFreeSurfaceFoam/potentialFreeSurfaceFoam.C
+++ b/applications/solvers/multiphase/potentialFreeSurfaceFoam/potentialFreeSurfaceFoam.C
@@ -94,9 +94,7 @@ int main(int argc, char *argv[])
 
         runTime.write();
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/reactingMultiphaseEulerFoam.C b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/reactingMultiphaseEulerFoam.C
index 87b8449cb40e8019a5bb901452145a733ca897d3..43a1f28c939eac6a83c9fce1d4e1697f25606a8c 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/reactingMultiphaseEulerFoam.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/reactingMultiphaseEulerFoam.C
@@ -135,9 +135,7 @@ int main(int argc, char *argv[])
 
         runTime.write();
 
-        Info<< "ExecutionTime = "
-            << runTime.elapsedCpuTime()
-            << " s\n\n" << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/reactingTwoPhaseEulerFoam.C b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/reactingTwoPhaseEulerFoam.C
index edcd357e0e3d530ff9cd23c6adb7e80ecf9b27f3..fc068ac81215eecbb6d19cacf970cc4a2d8782dd 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/reactingTwoPhaseEulerFoam.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/reactingTwoPhaseEulerFoam.C
@@ -169,9 +169,7 @@ int main(int argc, char *argv[])
 
         runTime.write();
 
-        Info<< "ExecutionTime = "
-            << runTime.elapsedCpuTime()
-            << " s\n\n" << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/multiphase/twoLiquidMixingFoam/twoLiquidMixingFoam.C b/applications/solvers/multiphase/twoLiquidMixingFoam/twoLiquidMixingFoam.C
index 0f1a8491b76db05e38791a3de4b0b4390c39d055..e993679c3480fe757b1ec3419407d5cf80487962 100644
--- a/applications/solvers/multiphase/twoLiquidMixingFoam/twoLiquidMixingFoam.C
+++ b/applications/solvers/multiphase/twoLiquidMixingFoam/twoLiquidMixingFoam.C
@@ -98,9 +98,7 @@ int main(int argc, char *argv[])
 
         runTime.write();
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseEulerFoam.C b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseEulerFoam.C
index 6f46e2b044606e3d7a4d9b1a2cd285ae458ac22a..0b99456e5cf8e57ce8c42f0b0dec1e08969c9f6b 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseEulerFoam.C
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseEulerFoam.C
@@ -117,9 +117,7 @@ int main(int argc, char *argv[])
 
         #include "write.H"
 
-        Info<< "ExecutionTime = "
-            << runTime.elapsedCpuTime()
-            << " s\n\n" << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/stressAnalysis/solidDisplacementFoam/solidDisplacementFoam.C b/applications/solvers/stressAnalysis/solidDisplacementFoam/solidDisplacementFoam.C
index ef4d27539a5723c8f6a3aca5428c6417bc839fdf..d02e420ecbdf0cefa42f8bb33ecf9257e4f5d284 100644
--- a/applications/solvers/stressAnalysis/solidDisplacementFoam/solidDisplacementFoam.C
+++ b/applications/solvers/stressAnalysis/solidDisplacementFoam/solidDisplacementFoam.C
@@ -125,9 +125,7 @@ int main(int argc, char *argv[])
 
         #include "calculateStress.H"
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/solvers/stressAnalysis/solidEquilibriumDisplacementFoam/solidEquilibriumDisplacementFoam.C b/applications/solvers/stressAnalysis/solidEquilibriumDisplacementFoam/solidEquilibriumDisplacementFoam.C
index b5bfaeda4d6bb9e50c925e9846b01f1ccfbbbb5a..ce297ac89ea35612274074f0e23decae06f90a4d 100644
--- a/applications/solvers/stressAnalysis/solidEquilibriumDisplacementFoam/solidEquilibriumDisplacementFoam.C
+++ b/applications/solvers/stressAnalysis/solidEquilibriumDisplacementFoam/solidEquilibriumDisplacementFoam.C
@@ -85,9 +85,7 @@ int main(int argc, char *argv[])
         #include "calculateStress.H"
         #include "kineticEnergyLimiter.H"
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/test/POSIX/Test-POSIX.C b/applications/test/POSIX/Test-POSIX.C
index 3f9f05c7dbefd9265d89b5d6b53545c42d0dd2ec..e38899ec929deef39d74a567036a063794578a89 100644
--- a/applications/test/POSIX/Test-POSIX.C
+++ b/applications/test/POSIX/Test-POSIX.C
@@ -48,6 +48,7 @@ int main(int argc, char *argv[])
             << "clock: iso  "  << clock::dateTime() << nl;
     }
 
+    Info<< "since epoch = " << clockValue::now().str() << nl;
 
     {
         clockValue a;
@@ -67,6 +68,7 @@ int main(int argc, char *argv[])
 
         Info<< "elapsed = " << a.elapsed() << nl;
         Info<< "elapsed = " << a.elapsed().seconds() << nl;
+        Info<< "elapsed = " << a.elapsed().str() << nl;
 
         clockValue b = clockValue::now();
 
diff --git a/applications/test/fieldMapping/Test-fieldMapping.C b/applications/test/fieldMapping/Test-fieldMapping.C
index 0ca3052e4cee6b219524d04966e79ea2612ba566..d71461662376702baa5aa20b95efef2fffcc0486 100644
--- a/applications/test/fieldMapping/Test-fieldMapping.C
+++ b/applications/test/fieldMapping/Test-fieldMapping.C
@@ -323,10 +323,7 @@ int main(int argc, char *argv[])
             }
         }
 
-
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/test/hexRef8/Test-hexRef8.C b/applications/test/hexRef8/Test-hexRef8.C
index d34ff23c42379c831f865736bcf2c7cdbc719db5..0b606525d14db85e95b4442a800e8ebd6234074f 100644
--- a/applications/test/hexRef8/Test-hexRef8.C
+++ b/applications/test/hexRef8/Test-hexRef8.C
@@ -405,10 +405,7 @@ int main(int argc, char *argv[])
             }
         }
 
-
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "pc:" << pc.patchPatchPointConstraintPoints().size() << endl;
diff --git a/applications/test/parallelOverset/laplacianDyMFoam.C b/applications/test/parallelOverset/laplacianDyMFoam.C
index ea06cd7d3ac6f9e966eb7984099ad27b64a11926..88b20fa3382ab62d9bd927d076caee08364b7f40 100644
--- a/applications/test/parallelOverset/laplacianDyMFoam.C
+++ b/applications/test/parallelOverset/laplacianDyMFoam.C
@@ -77,17 +77,13 @@ int main(int argc, char *argv[])
 
     Info<< "Time = " << runTime.timeName() << nl << endl;
 
-    Info<< "Reading : ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-        << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-        << nl << endl;
+    Info<< "Reading : ";
+    runTime.printExecutionTime(Info);
 
     mesh.update();
 
-    Info<< "Overset calculation : ExecutionTime = "
-        << runTime.elapsedCpuTime() << " s"
-        << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-        << nl << endl;
-
+    Info<< "Overset calculation : ";
+    runTime.printExecutionTime(Info);
 
     if (false)
     {
@@ -110,11 +106,7 @@ int main(int argc, char *argv[])
 
     runTime.write();
 
-
-
-    Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-        << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-        << nl << endl;
+    runTime.printExecutionTime(Info);
 
     Info<< "End\n" << endl;
 
diff --git a/applications/test/passiveParticle/Test-passiveParticle.C b/applications/test/passiveParticle/Test-passiveParticle.C
index f72f2d3ade45d47a70422d978e44c4874b7e7a56..23680dc5dcda94da1a5799d8b3aaf19160993a07 100644
--- a/applications/test/passiveParticle/Test-passiveParticle.C
+++ b/applications/test/passiveParticle/Test-passiveParticle.C
@@ -65,9 +65,7 @@ int main(int argc, char *argv[])
                 << endl;
         }
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
 
         runTime++;
         Pout<< "Writing particles to time " << runTime.timeName() << endl;
@@ -89,11 +87,7 @@ int main(int argc, char *argv[])
         }
     }
 
-
-    Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-        << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-        << nl << endl;
-
+    runTime.printExecutionTime(Info);
 
     Info<< "End\n" << endl;
 
diff --git a/applications/utilities/mesh/advanced/collapseEdges/collapseEdges.C b/applications/utilities/mesh/advanced/collapseEdges/collapseEdges.C
index f4d889d28ab332ce410728c3b0c331058db4088f..f1fcb114b28b92346cfb8014a0b5995c0734e944 100644
--- a/applications/utilities/mesh/advanced/collapseEdges/collapseEdges.C
+++ b/applications/utilities/mesh/advanced/collapseEdges/collapseEdges.C
@@ -254,9 +254,8 @@ int main(int argc, char *argv[])
         pointPriority.write();
     }
 
-    Info<< nl << "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-        << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-        << nl << endl;
+    Info<< nl;
+    runTime.printExecutionTime(Info);
 
     Info<< "End\n" << endl;
 
diff --git a/applications/utilities/mesh/generation/foamyMesh/cellSizeAndAlignmentGrid/cellSizeAndAlignmentGrid.C b/applications/utilities/mesh/generation/foamyMesh/cellSizeAndAlignmentGrid/cellSizeAndAlignmentGrid.C
index a763b1b6131d7ddf8ad4bba5f072a29444e94bfd..ea83b2b210b68586a0274f9a7c8ecaae201edf0f 100644
--- a/applications/utilities/mesh/generation/foamyMesh/cellSizeAndAlignmentGrid/cellSizeAndAlignmentGrid.C
+++ b/applications/utilities/mesh/generation/foamyMesh/cellSizeAndAlignmentGrid/cellSizeAndAlignmentGrid.C
@@ -701,9 +701,8 @@ int main(int argc, char *argv[])
     sizesIO.write();
     alignmentsIO.write();
 
-    Info<< nl << "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-        << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-        << nl << endl;
+    Info<< nl;
+    runTime.printExecutionTime(Info);
 
     Info<< "\nEnd\n" << endl;
 
diff --git a/applications/utilities/mesh/generation/foamyMesh/foamyHexMesh/foamyHexMesh.C b/applications/utilities/mesh/generation/foamyMesh/foamyHexMesh/foamyHexMesh.C
index 3c20f17a849bc162797d12e5d198f780bdb8d49c..d8a757c8eb0e17f7ed67ef32bd5cbe29006d7fb4 100644
--- a/applications/utilities/mesh/generation/foamyMesh/foamyHexMesh/foamyHexMesh.C
+++ b/applications/utilities/mesh/generation/foamyMesh/foamyHexMesh/foamyHexMesh.C
@@ -144,14 +144,11 @@ int main(int argc, char *argv[])
 
             mesh.move();
 
-            Info<< nl
-                << "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-                << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-                << nl << endl;
+            Info<< nl;
+            runTime.printExecutionTime(Info);
         }
     }
 
-
     Info<< "\nEnd\n" << endl;
 
     return 0;
diff --git a/applications/utilities/mesh/manipulation/moveDynamicMesh/moveDynamicMesh.C b/applications/utilities/mesh/manipulation/moveDynamicMesh/moveDynamicMesh.C
index 6b51443bea91fe9e8ed1b87f740471e4a45bc8b4..09e8f35868cace4935fdf1039fde9ffdec504fde 100644
--- a/applications/utilities/mesh/manipulation/moveDynamicMesh/moveDynamicMesh.C
+++ b/applications/utilities/mesh/manipulation/moveDynamicMesh/moveDynamicMesh.C
@@ -207,9 +207,7 @@ int main(int argc, char *argv[])
 
         runTime.write();
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/utilities/mesh/manipulation/moveEngineMesh/moveEngineMesh.C b/applications/utilities/mesh/manipulation/moveEngineMesh/moveEngineMesh.C
index 9757be665548db91473b0ff619181a443a0b6071..a9c3181d59bd3d083c990bc4411d3290738432ea 100644
--- a/applications/utilities/mesh/manipulation/moveEngineMesh/moveEngineMesh.C
+++ b/applications/utilities/mesh/manipulation/moveEngineMesh/moveEngineMesh.C
@@ -57,9 +57,7 @@ int main(int argc, char *argv[])
 
         runTime.write();
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/utilities/mesh/manipulation/moveMesh/moveMesh.C b/applications/utilities/mesh/manipulation/moveMesh/moveMesh.C
index 0f4049ad7cb4752fc9361962f7cc4aefa5211c31..3c51933dbd584c339d02ef575ddb7028bacefdf2 100644
--- a/applications/utilities/mesh/manipulation/moveMesh/moveMesh.C
+++ b/applications/utilities/mesh/manipulation/moveMesh/moveMesh.C
@@ -58,9 +58,7 @@ int main(int argc, char *argv[])
 
         runTime.write();
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
     Info<< "End\n" << endl;
diff --git a/applications/utilities/preProcessing/applyBoundaryLayer/applyBoundaryLayer.C b/applications/utilities/preProcessing/applyBoundaryLayer/applyBoundaryLayer.C
index 4f63381fbe5740d80fed72ce9956ee3dedf941ec..6360dcef272cccee5a4a40af143c1dbeb200136d 100644
--- a/applications/utilities/preProcessing/applyBoundaryLayer/applyBoundaryLayer.C
+++ b/applications/utilities/preProcessing/applyBoundaryLayer/applyBoundaryLayer.C
@@ -374,9 +374,8 @@ int main(int argc, char *argv[])
     Info<< "Writing U\n" << endl;
     U.write();
 
-    Info<< nl << "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-        << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-        << nl << endl;
+    Info<< nl;
+    runTime.printExecutionTime(Info);
 
     Info<< "End\n" << endl;
 
diff --git a/applications/utilities/preProcessing/dsmcInitialise/dsmcInitialise.C b/applications/utilities/preProcessing/dsmcInitialise/dsmcInitialise.C
index f2a2574e9daadfe8c02e5389d911cf92e783c6f7..183fa0f325cba7dc80bc071868425f25d69225a0 100644
--- a/applications/utilities/preProcessing/dsmcInitialise/dsmcInitialise.C
+++ b/applications/utilities/preProcessing/dsmcInitialise/dsmcInitialise.C
@@ -81,8 +81,8 @@ int main(int argc, char *argv[])
             << nl << exit(FatalError);
     }
 
-    Info<< nl << "ClockTime = " << runTime.elapsedClockTime() << " s"
-        << nl << endl;
+    Info<< nl;
+    runTime.printExecutionTime(Info);
 
     Info<< "End\n" << endl;
 
diff --git a/applications/utilities/preProcessing/mdInitialise/mdInitialise.C b/applications/utilities/preProcessing/mdInitialise/mdInitialise.C
index a3127cdc1f04f58edb10b6de551d7824cad941ec..34aa3aaeccbda6cfdac64d804d9cdb94df0143cd 100644
--- a/applications/utilities/preProcessing/mdInitialise/mdInitialise.C
+++ b/applications/utilities/preProcessing/mdInitialise/mdInitialise.C
@@ -91,8 +91,8 @@ int main(int argc, char *argv[])
             << nl << exit(FatalError);
     }
 
-    Info<< nl << "ClockTime = " << runTime.elapsedClockTime() << " s"
-        << nl << endl;
+    Info<< nl;
+    runTime.printExecutionTime(Info);
 
     Info<< "\nEnd\n" << endl;
 
diff --git a/applications/utilities/surface/surfaceFeatureExtract/surfaceFeatureExtract.C b/applications/utilities/surface/surfaceFeatureExtract/surfaceFeatureExtract.C
index 6a4f0d546d20c5836f788f834c986a62d0b0e3ef..b06ea808e0e6702575f9e7610942dc58ff025155 100644
--- a/applications/utilities/surface/surfaceFeatureExtract/surfaceFeatureExtract.C
+++ b/applications/utilities/surface/surfaceFeatureExtract/surfaceFeatureExtract.C
@@ -761,9 +761,7 @@ int main(int argc, char *argv[])
         Info<< endl;
     }
 
-    Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-        << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-        << nl << endl;
+    runTime.printExecutionTime(Info);
 
     Info<< "End\n" << endl;
 
diff --git a/applications/utilities/surface/surfaceInflate/surfaceInflate.C b/applications/utilities/surface/surfaceInflate/surfaceInflate.C
index 039bae91e82a7fbe118b2e7e07e7ba3ffdc08820..f945a65fadc77d05e36c981bb6206ae01eefe255 100644
--- a/applications/utilities/surface/surfaceInflate/surfaceInflate.C
+++ b/applications/utilities/surface/surfaceInflate/surfaceInflate.C
@@ -845,9 +845,7 @@ int main(int argc, char *argv[])
         // Write
         runTime.write();
 
-        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-            << nl << endl;
+        runTime.printExecutionTime(Info);
     }
 
 
@@ -868,7 +866,7 @@ int main(int argc, char *argv[])
     }
 
 
-    Info << "End\n" << endl;
+    Info<< "End\n" << endl;
 
     return 0;
 }
diff --git a/etc/codeTemplates/app/app.C b/etc/codeTemplates/app/app.C
index 602a5e52b878802f002af71406a342434f8228fc..167dcc886c7a9a289668941ac3b95200cbbdc532 100644
--- a/etc/codeTemplates/app/app.C
+++ b/etc/codeTemplates/app/app.C
@@ -39,9 +39,8 @@ int main(int argc, char *argv[])
 
     // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-    Info<< nl << "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-        << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-        << nl << endl;
+    Info<< nl;
+    runTime.printExecutionTime(Info);
 
     Info<< "End\n" << endl;
 
diff --git a/etc/controlDict b/etc/controlDict
index eae042cad4fe38bb12e07deed17281f807e6aa2b..98a281c5d3f3f6439fbc20500ac15b5dfb10ee66 100644
--- a/etc/controlDict
+++ b/etc/controlDict
@@ -54,6 +54,11 @@ InfoSwitches
     // Enable job info
     writeJobInfo    0;
 
+    // Style for "ExecutionTime = " output
+    // - 0 = seconds (with trailing 's')
+    // - 1 = day-hh:mm::ss
+    printExecutionFormat 0;
+
     // Allow profiling
     allowProfiling  1;
 
diff --git a/src/OSspecific/POSIX/clockValue/clockValue.C b/src/OSspecific/POSIX/clockValue/clockValue.C
index 7394feaf5507e8aad05c8d3d4db8dbadf40d501f..7e1447d978d364a02b6d5b195f750f4fc7db2d4e 100644
--- a/src/OSspecific/POSIX/clockValue/clockValue.C
+++ b/src/OSspecific/POSIX/clockValue/clockValue.C
@@ -26,14 +26,17 @@ License
 #include "clockValue.H"
 #include "IOstreams.H"
 #include <sys/time.h>
+#include <sstream>
+#include <iomanip>
 
 // * * * * * * * * * * * * * * * * Local Data  * * * * * * * * * * * * * * * //
 
 namespace
 {
 
-    constexpr int factorMicro = (1000000);
-    constexpr int factorMicro2 = (500000);
+    constexpr int factorMicro = (1000000);  //!< From usec to sec
+    constexpr int factorMicro2 = (500000);  //!< Rounding usec to sec
+    constexpr int factorHundred = (10000);  //!< From usec to 0.01 sec
 
 } // End anonymous namespace
 
@@ -92,6 +95,47 @@ long Foam::clockValue::seconds() const
 }
 
 
+std::string Foam::clockValue::str() const
+{
+    std::ostringstream os;
+
+    const unsigned long ss = value_.tv_sec;
+
+    // days
+    const auto dd = (ss / 86400);
+
+    if (dd) os << dd << '-';
+
+    // hours
+    const int hh = ((ss / 3600) % 24);
+
+    if (dd || hh)
+    {
+        os  << std::setw(2) << std::setfill('0')
+            << hh << ':';
+    }
+
+
+    // minutes
+    os  << std::setw(2) << std::setfill('0')
+        << ((ss / 60) % 60) << ':';
+
+    // seconds
+    os  << std::setw(2) << std::setfill('0')
+        << (ss % 60);
+
+    // 1/100th seconds. As none or 2 decimal places
+    const int hundredths = (value_.tv_sec % factorHundred);
+
+    if (hundredths)
+    {
+        os  << '.' << std::setw(2) << std::setfill('0') << hundredths;
+    }
+
+    return os.str();
+}
+
+
 // * * * * * * * * * * * * * * * Member Operators  * * * * * * * * * * * * * //
 
 Foam::clockValue::operator double () const
@@ -100,8 +144,6 @@ Foam::clockValue::operator double () const
 }
 
 
-// * * * * * * * * * * * * * * * Member Operators  * * * * * * * * * * * * * //
-
 Foam::clockValue& Foam::clockValue::operator-=(const clockValue& rhs)
 {
     const value_type& b = rhs.value_;
diff --git a/src/OSspecific/POSIX/clockValue/clockValue.H b/src/OSspecific/POSIX/clockValue/clockValue.H
index 425c1090ebfe0628345219533d24a12bb3d17127..0109af083bcfb21e0d7dad27cd97c4db68698e3e 100644
--- a/src/OSspecific/POSIX/clockValue/clockValue.H
+++ b/src/OSspecific/POSIX/clockValue/clockValue.H
@@ -36,6 +36,7 @@ SourceFiles
 #ifndef clockValue_H
 #define clockValue_H
 
+#include <string>
 #include <sys/types.h>
 #ifdef darwin
     #include <sys/time.h>
@@ -47,7 +48,7 @@ namespace Foam
 {
 
 /*---------------------------------------------------------------------------*\
-                          Class clockValue Declaration
+                         Class clockValue Declaration
 \*---------------------------------------------------------------------------*/
 
 class clockValue
@@ -93,6 +94,9 @@ public:
         //- The value in seconds (rounded)
         long seconds() const;
 
+        //- Format as day-hh:mm:ss string
+        std::string str() const;
+
 
     // Operators
 
diff --git a/src/OSspecific/POSIX/cpuTime/cpuTime.H b/src/OSspecific/POSIX/cpuTime/cpuTime.H
index b8ccaacf7487b6b5e0cff9381a535311bbd418c6..a57a653b8088109d6c3909a2f3594160a10907b6 100644
--- a/src/OSspecific/POSIX/cpuTime/cpuTime.H
+++ b/src/OSspecific/POSIX/cpuTime/cpuTime.H
@@ -38,6 +38,7 @@ SourceFiles
 #ifndef cpuTime_H
 #define cpuTime_H
 
+#include <string>
 #include <time.h>
 #include <sys/times.h>
 
diff --git a/src/OpenFOAM/db/Time/Time.C b/src/OpenFOAM/db/Time/Time.C
index e5333b61580437917684dd48a53ca1067c92316e..f524dbad5c47ed33735c3e52658ea94bb239daf3 100644
--- a/src/OpenFOAM/db/Time/Time.C
+++ b/src/OpenFOAM/db/Time/Time.C
@@ -30,6 +30,7 @@ License
 #include "profiling.H"
 #include "demandDrivenData.H"
 #include "IOdictionary.H"
+#include "registerSwitch.H"
 
 #include <sstream>
 
@@ -77,6 +78,19 @@ const int Foam::Time::maxPrecision_(3 - log10(SMALL));
 
 Foam::word Foam::Time::controlDictName("controlDict");
 
+int Foam::Time::printExecutionFormat_
+(
+    Foam::debug::infoSwitch("printExecutionFormat", 0)
+);
+
+
+registerInfoSwitch
+(
+    "printExecutionFormat",
+    int,
+    Foam::Time::printExecutionFormat_
+);
+
 
 // * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * * //
 
@@ -1161,7 +1175,7 @@ Foam::Time& Foam::Time::operator++()
             {
                 const label writeIndex = label
                 (
-                    returnReduce(label(elapsedClockTime()), maxOp<label>())
+                    returnReduce(elapsedClockTime(), maxOp<double>())
                   / writeInterval_
                 );
                 if (writeIndex > writeTimeIndex_)
diff --git a/src/OpenFOAM/db/Time/Time.H b/src/OpenFOAM/db/Time/Time.H
index 3cc1860d6393895a5cd5a1f38809a20582cf7af4..1deea1274926890aeae25940ac47c5f02ea171da 100644
--- a/src/OpenFOAM/db/Time/Time.H
+++ b/src/OpenFOAM/db/Time/Time.H
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2011-2017 OpenFOAM Foundation
-     \\/     M anipulation  | Copyright (C) 2016-2017 OpenCFD Ltd.
+     \\/     M anipulation  | Copyright (C) 2016-2018 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -59,9 +59,10 @@ SourceFiles
 namespace Foam
 {
 
-// Forward declaration of classes
+// Forward declarations
 class argList;
 class profilingTrigger;
+class OSstream;
 
 /*---------------------------------------------------------------------------*\
                              Class Time Declaration
@@ -114,6 +115,14 @@ public:
         static const Enum<stopAtControls> stopAtControlNames;
 
 
+        //- Style for "ExecutionTime = " output
+        //  0 = seconds (with trailing 's')
+        //  1 = day-hh:mm:ss
+        //
+        // \note this is public so registered info switches can modify it.
+        static int printExecutionFormat_;
+
+
 private:
 
     // Private data
@@ -262,7 +271,7 @@ public:
     virtual ~Time();
 
 
-    // Member functions
+    // Member Functions
 
         // Database functions
 
@@ -396,6 +405,9 @@ public:
             //- Write the objects once (one shot) and continue the run
             void writeOnce();
 
+            //- Print the elapsed ExecutionTime (cpu-time), ClockTime
+            Ostream& printExecutionTime(OSstream& os) const;
+
 
         // Access
 
diff --git a/src/OpenFOAM/db/Time/TimeIO.C b/src/OpenFOAM/db/Time/TimeIO.C
index 71ec65687134f2f062be0231552bf584d7c4851b..b1b76dcea18c105fb695b1e93fc7d6a017ab9cd9 100644
--- a/src/OpenFOAM/db/Time/TimeIO.C
+++ b/src/OpenFOAM/db/Time/TimeIO.C
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2011-2017 OpenFOAM Foundation
-     \\/     M anipulation  | Copyright (C) 2016 OpenCFD Ltd.
+     \\/     M anipulation  | Copyright (C) 2016-2018 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -32,6 +32,55 @@ License
 #include "IOdictionary.H"
 #include "fileOperation.H"
 
+#include <iomanip>
+
+// * * * * * * * * * * * * * * * Local Functions * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+
+// Output seconds as day-hh:mm:ss
+static std::ostream& printTimeHMS(std::ostream& os, double seconds)
+{
+    const unsigned long ss = seconds;
+
+    // days
+    const auto dd = (ss / 86400);
+
+    if (dd) os << dd << '-';
+
+    // hours
+    const int hh = ((ss / 3600) % 24);
+
+    if (dd || hh)
+    {
+        os  << std::setw(2) << std::setfill('0')
+            << hh << ':';
+    }
+
+    // minutes
+    os  << std::setw(2) << std::setfill('0')
+        << ((ss / 60) % 60) << ':';
+
+    // seconds
+    os  << std::setw(2) << std::setfill('0')
+        << (ss % 60);
+
+
+    // 1/100th seconds. As none or 2 decimal places
+    const int hundredths = int(100 * (seconds - ss)) % 100;
+
+    if (hundredths)
+    {
+        os  << '.' << std::setw(2) << std::setfill('0') << hundredths;
+    }
+
+    return os;
+}
+
+} // End namespace Foam
+
+
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
 void Foam::Time::readDict()
@@ -686,4 +735,32 @@ void Foam::Time::writeOnce()
 }
 
 
+Foam::Ostream& Foam::Time::printExecutionTime(OSstream& os) const
+{
+    switch (printExecutionFormat_)
+    {
+        case 1:
+        {
+            os  << "ExecutionTime = ";
+            printTimeHMS(os.stdStream(), elapsedCpuTime());
+
+            os  << "  ClockTime = ";
+            printTimeHMS(os.stdStream(), elapsedClockTime());
+        }
+        break;
+
+        default:
+        {
+            os  << "ExecutionTime = " << elapsedCpuTime() << " s"
+                << "  ClockTime = " << elapsedClockTime() << " s";
+        }
+        break;
+    }
+
+    os  << nl << endl;
+
+    return os;
+}
+
+
 // ************************************************************************* //
diff --git a/src/OpenFOAM/db/functionObjects/timeControl/timeControl.C b/src/OpenFOAM/db/functionObjects/timeControl/timeControl.C
index 5a10c23e1fccf7623e068d34c53b9c329b7278ec..71a99a6a7ad9fdf1cbb08364209724179308fcfa 100644
--- a/src/OpenFOAM/db/functionObjects/timeControl/timeControl.C
+++ b/src/OpenFOAM/db/functionObjects/timeControl/timeControl.C
@@ -217,7 +217,7 @@ bool Foam::timeControl::execute()
         {
             label executionIndex = label
             (
-                returnReduce(label(time_.elapsedClockTime()), maxOp<label>())
+                returnReduce(time_.elapsedClockTime(), maxOp<double>())
                /interval_
             );
             if (executionIndex > executionIndex_)
diff --git a/src/OpenFOAM/global/clock/clock.C b/src/OpenFOAM/global/clock/clock.C
index 2e89469c02540cdc83eab588b9287e316dbb1522..128543fc5cf3fc89f2635203400e7099cc9a4147 100644
--- a/src/OpenFOAM/global/clock/clock.C
+++ b/src/OpenFOAM/global/clock/clock.C
@@ -49,7 +49,7 @@ time_t Foam::clock::getTime()
 const struct tm Foam::clock::rawDate()
 {
     time_t t = getTime();
-    struct tm *curr = localtime(&t);
+    struct tm *curr = ::localtime(&t);
     return *curr;
 }
 
@@ -57,7 +57,7 @@ const struct tm Foam::clock::rawDate()
 std::string Foam::clock::dateTime()
 {
     time_t t = getTime();
-    struct tm *curr = localtime(&t);
+    struct tm *curr = ::localtime(&t);
 
     std::ostringstream os;
     os
@@ -76,7 +76,7 @@ std::string Foam::clock::dateTime()
 std::string Foam::clock::date()
 {
     time_t t = getTime();
-    struct tm *curr = localtime(&t);
+    struct tm *curr = ::localtime(&t);
 
     std::ostringstream os;
     os
@@ -91,7 +91,7 @@ std::string Foam::clock::date()
 std::string Foam::clock::clockTime()
 {
     time_t t = getTime();
-    struct tm *curr = localtime(&t);
+    struct tm *curr = ::localtime(&t);
 
     std::ostringstream os;
     os
@@ -115,19 +115,19 @@ Foam::clock::clock()
 
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
-time_t Foam::clock::elapsedClockTime() const
+double Foam::clock::elapsedClockTime() const
 {
     last_ = getTime();
-    return last_ - start_;
+    return ::difftime(last_, start_);
 }
 
 
-time_t Foam::clock::clockTimeIncrement() const
+double Foam::clock::clockTimeIncrement() const
 {
     const value_type prev(last_);
 
     last_ = getTime();
-    return last_ - prev;
+    return ::difftime(last_, prev);
 }
 
 
diff --git a/src/OpenFOAM/global/clock/clock.H b/src/OpenFOAM/global/clock/clock.H
index 9ba5582a58b2d25bfc1cceb71cdb99b067594361..3a4750f583bbc71c26e19ca0a0a53985aff7a825 100644
--- a/src/OpenFOAM/global/clock/clock.H
+++ b/src/OpenFOAM/global/clock/clock.H
@@ -43,8 +43,6 @@ SourceFiles
 namespace Foam
 {
 
-class string;
-
 /*---------------------------------------------------------------------------*\
                            Class clock Declaration
 \*---------------------------------------------------------------------------*/
@@ -92,10 +90,10 @@ public:
     // Member Functions
 
         //- Returns wall-clock time from clock instantiation
-        time_t elapsedClockTime() const;
+        double elapsedClockTime() const;
 
         //- Returns wall-clock time from last call of clockTimeIncrement()
-        time_t clockTimeIncrement() const;
+        double clockTimeIncrement() const;
 };
 
 
diff --git a/tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/validation/WatersKing/WatersKing.C b/tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/validation/WatersKing/WatersKing.C
index dc55cf90989fb1f7551be3171668051dc97200f1..4705dfdc05727b210b550723265b3910130870b6 100644
--- a/tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/validation/WatersKing/WatersKing.C
+++ b/tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/validation/WatersKing/WatersKing.C
@@ -134,9 +134,8 @@ int main(int argc, char *argv[])
         runTime++;
     }
 
-    Info<< nl << "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
-        << "  ClockTime = " << runTime.elapsedClockTime() << " s"
-        << nl << endl;
+    Info<< nl;
+    runTime.printExecutionTime(Info);
 
     Info<< "End\n" << endl;