Issue #19715: try the utime(..., None) approach again, now that it should be more precise under Windows
diff --git a/Lib/pathlib.py b/Lib/pathlib.py
index 06cbae5..e73eca7 100644
--- a/Lib/pathlib.py
+++ b/Lib/pathlib.py
@@ -6,7 +6,6 @@
 import posixpath
 import re
 import sys
-import time
 import weakref
 try:
     import threading
@@ -1076,9 +1075,8 @@
             # First try to bump modification time
             # Implementation note: GNU touch uses the UTIME_NOW option of
             # the utimensat() / futimens() functions.
-            t = time.time()
             try:
-                self._accessor.utime(self, (t, t))
+                self._accessor.utime(self, None)
             except OSError:
                 # Avoid exception chaining
                 pass
diff --git a/Lib/test/test_pathlib.py b/Lib/test/test_pathlib.py
index 83c56d0..4108d5e 100755
--- a/Lib/test/test_pathlib.py
+++ b/Lib/test/test_pathlib.py
@@ -1391,11 +1391,8 @@
         # The file mtime should be refreshed by calling touch() again
         p.touch()
         st = p.stat()
-        # Issue #19715: there can be an inconsistency under Windows between
-        # the timestamp rounding when creating a file, and the timestamp
-        # rounding done when calling utime().  `delta` makes up for this.
-        delta = 1e-6 if os.name == 'nt' else 0
-        self.assertGreaterEqual(st.st_mtime, old_mtime - delta)
+        self.assertGreaterEqual(st.st_mtime_ns, old_mtime_ns)
+        self.assertGreaterEqual(st.st_mtime, old_mtime)
         # Now with exist_ok=False
         p = P / 'newfileB'
         self.assertFalse(p.exists())