diff --git a/src/dicognito/anonymizer.py b/src/dicognito/anonymizer.py
index 80f8b54..b0f6a8b 100644
--- a/src/dicognito/anonymizer.py
+++ b/src/dicognito/anonymizer.py
@@ -12,7 +12,6 @@ from dicognito.unwantedelements import UnwantedElementsStripper
 from dicognito.randomizer import Randomizer
 
 import pydicom
-import random
 
 
 class Anonymizer:
@@ -58,8 +57,14 @@ class Anonymizer:
         """
         minimum_offset_hours = 62 * 24
         maximum_offset_hours = 730 * 24
+
         randomizer = Randomizer(seed)
+
+        date_offset_hours = -(
+            randomizer.to_int("date_offset") % (maximum_offset_hours - minimum_offset_hours) + minimum_offset_hours
+        )
         address_anonymizer = AddressAnonymizer(randomizer)
+
         self._element_handlers = [
             UnwantedElementsStripper(
                 "BranchOfService",
@@ -97,7 +102,7 @@ class Anonymizer:
             EquipmentAnonymizer(address_anonymizer),
             FixedValueAnonymizer("RequestingService", ""),
             FixedValueAnonymizer("CurrentPatientLocation", ""),
-            DateTimeAnonymizer(-random.randint(minimum_offset_hours, maximum_offset_hours)),
+            DateTimeAnonymizer(date_offset_hours),
         ]
 
     def anonymize(self, dataset):
diff --git a/src/dicognito/release_notes.md b/src/dicognito/release_notes.md
index e9933be..4a72ac6 100644
--- a/src/dicognito/release_notes.md
+++ b/src/dicognito/release_notes.md
@@ -8,6 +8,9 @@
 - Deflated files are corrupt when anonymized from the command line
   ([#80](https://github.com/blairconrad/dicognito/issues/80))
 
+- Date/time offset is not always the same for a given seed
+  ([#86](https://github.com/blairconrad/dicognito/issues/86))
+
 
 ## 0.10.0
 

diff --git a/tests/test_anonymize_single_instance.py b/tests/test_anonymize_single_instance.py
index 23a05bc..5cffe58 100644
--- a/tests/test_anonymize_single_instance.py
+++ b/tests/test_anonymize_single_instance.py
@@ -452,6 +452,25 @@ def test_multivalued_date_and_time_pair_gets_anonymized():
     assert len(new_time) == len(original_time)
 
 
+def test_multivalued_date_and_time_pair_gets_anonymized_same_with_same_seed():
+    with load_test_instance() as dataset1, load_test_instance() as dataset2:
+        dataset1.DateOfLastCalibration = original_date = ["20010401", "20010402"]
+        dataset1.TimeOfLastCalibration = original_time = ["120000", "135959"]
+        dataset2.DateOfLastCalibration = original_date
+        dataset2.TimeOfLastCalibration = original_time
+
+        Anonymizer(seed="").anonymize(dataset1)
+        Anonymizer(seed="").anonymize(dataset2)
+
+        new_date1 = dataset1.DateOfLastCalibration
+        new_time1 = dataset1.TimeOfLastCalibration
+        new_date2 = dataset2.DateOfLastCalibration
+        new_time2 = dataset2.TimeOfLastCalibration
+
+    assert new_date1 == new_date2
+    assert new_time1 == new_time2
+
+
 def test_issue_date_of_imaging_service_request_gets_anonymized():
     original_datetime = datetime.datetime(1974, 11, 3, 12, 15, 58)
     original_date_string = original_datetime.strftime("%Y%m%d")

Date/time offset is not always the same for a given seed
When anonymizing using a set seed, the date (time) offsets will sometimes vary.
To see this, anonymize an object a few times with the same seed.
This is the reason that `test_multivalued_date_and_time_pair_gets_anonymized` fails from time to time.
tests/test_anonymize_single_instance.py::test_multivalued_date_and_time_pair_gets_anonymized_same_with_same_seed
tests/test_anonymize_single_instance.py::test_minimal_instance_anonymizes_safely tests/test_anonymize_single_instance.py::test_nonidentifying_uis_are_left_alone[file_meta.MediaStorageSOPClassUID] tests/test_anonymize_single_instance.py::test_nonidentifying_uis_are_left_alone[file_meta.TransferSyntaxUID] tests/test_anonymize_single_instance.py::test_nonidentifying_uis_are_left_alone[file_meta.ImplementationClassUID] tests/test_anonymize_single_instance.py::test_nonidentifying_uis_are_left_alone[SOPClassUID] tests/test_anonymize_single_instance.py::test_nonidentifying_uis_are_left_alone[SourceImageSequence[0].ReferencedSOPClassUID] tests/test_anonymize_single_instance.py::test_identifying_uis_are_updated[file_meta.MediaStorageSOPInstanceUID] tests/test_anonymize_single_instance.py::test_identifying_uis_are_updated[SOPInstanceUID] tests/test_anonymize_single_instance.py::test_identifying_uis_are_updated[SourceImageSequence[0].ReferencedSOPInstanceUID] tests/test_anonymize_single_instance.py::test_identifying_uis_are_updated[StudyInstanceUID] tests/test_anonymize_single_instance.py::test_identifying_uis_are_updated[SeriesInstanceUID] tests/test_anonymize_single_instance.py::test_identifying_uis_are_updated[FrameOfReferenceUID] tests/test_anonymize_single_instance.py::test_repeated_identifying_uis_get_same_values[file_meta.MediaStorageSOPInstanceUID-SOPInstanceUID] tests/test_anonymize_single_instance.py::test_ids_are_anonymized[AccessionNumber] tests/test_anonymize_single_instance.py::test_ids_are_anonymized[FillerOrderNumberImagingServiceRequest] tests/test_anonymize_single_instance.py::test_ids_are_anonymized[FillerOrderNumberImagingServiceRequestRetired] tests/test_anonymize_single_instance.py::test_ids_are_anonymized[FillerOrderNumberProcedure] tests/test_anonymize_single_instance.py::test_ids_are_anonymized[IssuerOfPatientID] tests/test_anonymize_single_instance.py::test_ids_are_anonymized[OtherPatientIDs] tests/test_anonymize_single_instance.py::test_ids_are_anonymized[OtherPatientIDsSequence[0].PatientID] tests/test_anonymize_single_instance.py::test_ids_are_anonymized[OtherPatientIDsSequence[0].IssuerOfPatientID] tests/test_anonymize_single_instance.py::test_ids_are_anonymized[OtherPatientIDsSequence[1].PatientID] tests/test_anonymize_single_instance.py::test_ids_are_anonymized[OtherPatientIDsSequence[1].IssuerOfPatientID] tests/test_anonymize_single_instance.py::test_ids_are_anonymized[PatientID] tests/test_anonymize_single_instance.py::test_ids_are_anonymized[PerformedProcedureStepID] tests/test_anonymize_single_instance.py::test_ids_are_anonymized[PlacerOrderNumberImagingServiceRequest] tests/test_anonymize_single_instance.py::test_ids_are_anonymized[PlacerOrderNumberImagingServiceRequestRetired] tests/test_anonymize_single_instance.py::test_ids_are_anonymized[PlacerOrderNumberProcedure] tests/test_anonymize_single_instance.py::test_ids_are_anonymized[RequestAttributesSequence[0].RequestedProcedureID] tests/test_anonymize_single_instance.py::test_ids_are_anonymized[RequestAttributesSequence[0].ScheduledProcedureStepID] tests/test_anonymize_single_instance.py::test_ids_are_anonymized[ScheduledProcedureStepID] tests/test_anonymize_single_instance.py::test_ids_are_anonymized[StudyID] tests/test_anonymize_single_instance.py::test_other_patient_ids_anonymized_to_same_number_of_ids[2] tests/test_anonymize_single_instance.py::test_other_patient_ids_anonymized_to_same_number_of_ids[3] tests/test_anonymize_single_instance.py::test_issuer_of_patient_id_changed_if_not_empty tests/test_anonymize_single_instance.py::test_issuer_of_patient_id_not_added_if_empty tests/test_anonymize_single_instance.py::test_female_patient_name_gets_anonymized tests/test_anonymize_single_instance.py::test_male_patient_name_gets_anonymized tests/test_anonymize_single_instance.py::test_sex_other_patient_name_gets_anonymized tests/test_anonymize_single_instance.py::test_other_patient_names_anonymized_to_same_number_of_names[2] tests/test_anonymize_single_instance.py::test_other_patient_names_anonymized_to_same_number_of_names[3] tests/test_anonymize_single_instance.py::test_non_patient_names_get_anonymized[NameOfPhysiciansReadingStudy] tests/test_anonymize_single_instance.py::test_non_patient_names_get_anonymized[OperatorsName] tests/test_anonymize_single_instance.py::test_non_patient_names_get_anonymized[PatientBirthName] tests/test_anonymize_single_instance.py::test_non_patient_names_get_anonymized[PatientMotherBirthName] tests/test_anonymize_single_instance.py::test_non_patient_names_get_anonymized[PerformingPhysicianName] tests/test_anonymize_single_instance.py::test_non_patient_names_get_anonymized[ReferringPhysicianName] tests/test_anonymize_single_instance.py::test_non_patient_names_get_anonymized[RequestingPhysician] tests/test_anonymize_single_instance.py::test_non_patient_names_get_anonymized[ResponsiblePerson] tests/test_anonymize_single_instance.py::test_patient_address_gets_anonymized tests/test_anonymize_single_instance.py::test_extra_patient_attributes_are_removed[Occupation] tests/test_anonymize_single_instance.py::test_extra_patient_attributes_are_removed[PatientInsurancePlanCodeSequence] tests/test_anonymize_single_instance.py::test_extra_patient_attributes_are_removed[MilitaryRank] tests/test_anonymize_single_instance.py::test_extra_patient_attributes_are_removed[BranchOfService] tests/test_anonymize_single_instance.py::test_extra_patient_attributes_are_removed[PatientTelephoneNumbers] tests/test_anonymize_single_instance.py::test_extra_patient_attributes_are_removed[PatientTelecomInformation] tests/test_anonymize_single_instance.py::test_extra_patient_attributes_are_removed[PatientReligiousPreference] tests/test_anonymize_single_instance.py::test_extra_patient_attributes_are_removed[MedicalRecordLocator] tests/test_anonymize_single_instance.py::test_extra_patient_attributes_are_removed[ReferencedPatientPhotoSequence] tests/test_anonymize_single_instance.py::test_extra_patient_attributes_are_removed[ResponsibleOrganization] tests/test_anonymize_single_instance.py::test_equipment_gets_anonymized tests/test_anonymize_single_instance.py::test_requesting_service_gets_anonymized tests/test_anonymize_single_instance.py::test_current_patient_location_gets_anonymized tests/test_anonymize_single_instance.py::test_dates_and_times_get_anonymized_when_both_are_present[AcquisitionDate] tests/test_anonymize_single_instance.py::test_dates_and_times_get_anonymized_when_both_are_present[ContentDate] tests/test_anonymize_single_instance.py::test_dates_and_times_get_anonymized_when_both_are_present[InstanceCreationDate] tests/test_anonymize_single_instance.py::test_dates_and_times_get_anonymized_when_both_are_present[PatientBirthDate] tests/test_anonymize_single_instance.py::test_dates_and_times_get_anonymized_when_both_are_present[PerformedProcedureStepStartDate] tests/test_anonymize_single_instance.py::test_dates_and_times_get_anonymized_when_both_are_present[SeriesDate] tests/test_anonymize_single_instance.py::test_dates_and_times_get_anonymized_when_both_are_present[StudyDate] tests/test_anonymize_single_instance.py::test_date_gets_anonymized_when_there_is_no_time tests/test_anonymize_single_instance.py::test_date_gets_anonymized_when_date_has_various_lengths[20180202] tests/test_anonymize_single_instance.py::test_date_gets_anonymized_when_date_has_various_lengths[199901] tests/test_anonymize_single_instance.py::test_date_gets_anonymized_when_date_has_various_lengths[1983] tests/test_anonymize_single_instance.py::test_date_gets_anonymized_when_time_has_various_lengths[] tests/test_anonymize_single_instance.py::test_date_gets_anonymized_when_time_has_various_lengths[07] tests/test_anonymize_single_instance.py::test_date_gets_anonymized_when_time_has_various_lengths[0911] tests/test_anonymize_single_instance.py::test_date_gets_anonymized_when_time_has_various_lengths[131517] tests/test_anonymize_single_instance.py::test_date_gets_anonymized_when_time_has_various_lengths[192123.1] tests/test_anonymize_single_instance.py::test_date_gets_anonymized_when_time_has_various_lengths[192123.12] tests/test_anonymize_single_instance.py::test_date_gets_anonymized_when_time_has_various_lengths[192123.123] tests/test_anonymize_single_instance.py::test_date_gets_anonymized_when_time_has_various_lengths[192123.1234] tests/test_anonymize_single_instance.py::test_date_gets_anonymized_when_time_has_various_lengths[192123.12345] tests/test_anonymize_single_instance.py::test_date_gets_anonymized_when_time_has_various_lengths[192123.123456] tests/test_anonymize_single_instance.py::test_multivalued_date_with_no_time_pair_gets_anonymized tests/test_anonymize_single_instance.py::test_multivalued_date_and_time_pair_gets_anonymized tests/test_anonymize_single_instance.py::test_issue_date_of_imaging_service_request_gets_anonymized tests/test_anonymize_single_instance.py::test_datetime_gets_anonymized[AcquisitionDateTime] tests/test_anonymize_single_instance.py::test_datetime_gets_anonymized[FrameReferenceDateTime] tests/test_anonymize_single_instance.py::test_datetime_gets_anonymized[FrameAcquisitionDateTime] tests/test_anonymize_single_instance.py::test_datetime_gets_anonymized[StartAcquisitionDateTime] tests/test_anonymize_single_instance.py::test_datetime_gets_anonymized[EndAcquisitionDateTime] tests/test_anonymize_single_instance.py::test_datetime_gets_anonymized[PerformedProcedureStepStartDateTime] tests/test_anonymize_single_instance.py::test_datetime_gets_anonymized[PerformedProcedureStepEndDateTime] tests/test_anonymize_single_instance.py::test_datetime_of_various_lengths_gets_anonymized[1947] tests/test_anonymize_single_instance.py::test_datetime_of_various_lengths_gets_anonymized[194711] tests/test_anonymize_single_instance.py::test_datetime_of_various_lengths_gets_anonymized[19471103] tests/test_anonymize_single_instance.py::test_datetime_of_various_lengths_gets_anonymized[1947110307] tests/test_anonymize_single_instance.py::test_datetime_of_various_lengths_gets_anonymized[194711030911] tests/test_anonymize_single_instance.py::test_datetime_of_various_lengths_gets_anonymized[19471103131517] tests/test_anonymize_single_instance.py::test_datetime_of_various_lengths_gets_anonymized[19471103192123.1] tests/test_anonymize_single_instance.py::test_datetime_of_various_lengths_gets_anonymized[19471103192123.12] tests/test_anonymize_single_instance.py::test_datetime_of_various_lengths_gets_anonymized[19471103192123.123] tests/test_anonymize_single_instance.py::test_datetime_of_various_lengths_gets_anonymized[19471103192123.1234] tests/test_anonymize_single_instance.py::test_datetime_of_various_lengths_gets_anonymized[19471103192123.12345] tests/test_anonymize_single_instance.py::test_datetime_of_various_lengths_gets_anonymized[19471103192123.123456] tests/test_anonymize_single_instance.py::test_multivalued_datetime_gets_anonymized tests/test_anonymize_single_instance.py::test_no_sex_still_changes_patient_name tests/test_anonymize_single_instance.py::test_deidentification_method_set_properly[None-DICOGNITO] tests/test_anonymize_single_instance.py::test_deidentification_method_set_properly[DICOGNITO-DICOGNITO] tests/test_anonymize_single_instance.py::test_deidentification_method_set_properly[SOMETHINGELSE-expected2] tests/test_anonymize_single_instance.py::test_deidentification_method_set_properly[SOMETHING\\SOMETHINGELSE-expected3] tests/test_anonymize_single_instance.py::test_deidentification_method_set_properly[DICOGNITO\\SOMETHINGELSE-expected4] tests/test_anonymize_single_instance.py::test_patient_identity_removed[None-None-None] tests/test_anonymize_single_instance.py::test_patient_identity_removed[None-YES-None] tests/test_anonymize_single_instance.py::test_patient_identity_removed[None-NO-YES] tests/test_anonymize_single_instance.py::test_patient_identity_removed[NO-None-NO] tests/test_anonymize_single_instance.py::test_patient_identity_removed[NO-YES-NO] tests/test_anonymize_single_instance.py::test_patient_identity_removed[NO-NO-YES] tests/test_anonymize_single_instance.py::test_patient_identity_removed[YES-None-YES] tests/test_anonymize_single_instance.py::test_patient_identity_removed[YES-YES-YES] tests/test_anonymize_single_instance.py::test_patient_identity_removed[YES-NO-YES]