diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/junitlauncher/LauncherSupport.java b/src/main/org/apache/tools/ant/taskdefs/optional/junitlauncher/LauncherSupport.java
index 008db18..946ba51 100644
--- a/src/main/org/apache/tools/ant/taskdefs/optional/junitlauncher/LauncherSupport.java
+++ b/src/main/org/apache/tools/ant/taskdefs/optional/junitlauncher/LauncherSupport.java
@@ -53,6 +53,7 @@
 import java.nio.file.Files;
 import java.nio.file.Path;
 import java.nio.file.Paths;
+import java.text.NumberFormat;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
@@ -609,6 +610,14 @@
             });
         }
 
+
+        private static final double ONE_SECOND = 1000.0;
+        // We use this only in the testPlanExecutionFinished method, which
+        // as per the JUnit5 platform semantics won't be called concurrently
+        // by multiple threads (https://github.com/junit-team/junit5/issues/2539#issuecomment-766325555).
+        // So it's safe to use this without any additional thread safety access controls.
+        private NumberFormat timeFormatter = NumberFormat.getInstance();
+
         @Override
         public void testPlanExecutionFinished(final TestPlan testPlan) {
             super.testPlanExecutionFinished(testPlan);
@@ -629,7 +638,8 @@
                 sb.append(", Skipped: ");
                 sb.append(summary.getTestsSkippedCount());
                 sb.append(", Time elapsed: ");
-                sb.append((summary.getTimeFinished() - summary.getTimeStarted()) / 1000f);
+                final long elapsedMs = summary.getTimeFinished() - summary.getTimeStarted();
+                sb.append(timeFormatter.format(elapsedMs / ONE_SECOND));
                 sb.append(" sec");
                 this.originalSysOut.println(sb.toString());
             }
