diff --git a/pytools/persistent_dict.py b/pytools/persistent_dict.py
index fb77d4b..4090cb4 100644
--- a/pytools/persistent_dict.py
+++ b/pytools/persistent_dict.py
@@ -460,7 +460,7 @@ class KeyBuilder:
         import datetime
 
         # Convert to datetime object
-        self.rec(key_hash, datetime.datetime.combine(datetime.date.today(), key))
+        self.rec(key_hash, datetime.datetime.combine(datetime.date.min, key))
         self.rec(key_hash, "<time>")
 
     def update_for_datetime(self, key_hash: Hash, key: Any) -> None:

diff --git a/pytools/test/test_persistent_dict.py b/pytools/test/test_persistent_dict.py
index 649bd00..d53fcfd 100644
--- a/pytools/test/test_persistent_dict.py
+++ b/pytools/test/test_persistent_dict.py
@@ -621,7 +621,7 @@ def test_datetime_hashing() -> None:
             == keyb(datetime.time(12, 0))
             == keyb(datetime.time(12, 0, 0))
             == keyb(datetime.time(12, 0, 0, 0))
-            == "bf73f48b2f2666b5c42f6993e628fdc15e0b6c3127186c3ab44ce08ed83d0472")
+            == "288ec82f6a00ac15968d4d257d4aca1089b863c61ef2ee200e64351238397705")
     assert keyb(datetime.time(12, 0)) != keyb(datetime.time(12, 1))
 
     # Aware time
@@ -634,7 +634,7 @@ def test_datetime_hashing() -> None:
     assert t1 == t2
     assert (keyb(t1)
             == keyb(t2)
-            == "c0947587c92ab6e2df90475dd497aff1d83df55fbd5af6c55b2a0a221b2437a4")
+            == "3587427ca9d581779d532b397df206ddeadfcf4e38b1ee69c19174e8e1268cc4")
 
     assert t1 != t3
     assert keyb(t1) != keyb(t3)

`datetime` hashing tests fail
https://github.com/inducer/pytools/actions/runs/8864710333/job/24340173299

@matthiasdiener could you take a look?
pytools/test/test_persistent_dict.py::test_datetime_hashing
pytools/test/test_persistent_dict.py::test_persistent_dict_storage_and_lookup pytools/test/test_persistent_dict.py::test_persistent_dict_deletion pytools/test/test_persistent_dict.py::test_persistent_dict_synchronization pytools/test/test_persistent_dict.py::test_persistent_dict_cache_collisions pytools/test/test_persistent_dict.py::test_persistent_dict_clear pytools/test/test_persistent_dict.py::test_write_once_persistent_dict_storage_and_lookup[0] pytools/test/test_persistent_dict.py::test_write_once_persistent_dict_storage_and_lookup[256] pytools/test/test_persistent_dict.py::test_write_once_persistent_dict_lru_policy pytools/test/test_persistent_dict.py::test_write_once_persistent_dict_synchronization pytools/test/test_persistent_dict.py::test_write_once_persistent_dict_cache_collisions pytools/test/test_persistent_dict.py::test_write_once_persistent_dict_clear pytools/test/test_persistent_dict.py::test_scalar_hashing pytools/test/test_persistent_dict.py::test_frozenset_hashing pytools/test/test_persistent_dict.py::test_ABC_hashing pytools/test/test_persistent_dict.py::test_class_hashing pytools/test/test_persistent_dict.py::test_dataclass_hashing pytools/test/test_persistent_dict.py::test_xdg_cache_home