Event clear time differs between clearUnack and clearAck?

I'm making a small alarm journal and i want to calculate the alarm duration but I don't understand why the clear time changes between a clearUnack state and clearAck state. For example:

================================================================================
Event ID: f65f0df0-c0ce-4990-be71-c0837cbe4cd2
State: Active, Unacknowledged Active: 1785336273692   Clear: None            Ack: None           
State: Cleared, Unacknowledged Active: None            Clear: 1785336274199   Ack: None           
State: Cleared, Acknowledged Active: None            Clear: 1785338814303   Ack: 1785338814303  
================================================================================
Event ID: 796956a0-205f-4eb7-b26a-93adcf5896f8
State: Active, Unacknowledged Active: 1784923163471   Clear: None            Ack: None           
State: Active, Acknowledged Active: None            Clear: None            Ack: 1785157744275  
State: Cleared, Acknowledged Active: None            Clear: 1785165949909   Ack: 1785165949909  
================================================================================

The Cleared, Acknowledged event has the same timestamp for the clear and ack events which doesn't make sense to me.

Here is the script I used to print this (it's not my alarm table script but it follows the same logic and gives the same result):

from collections import defaultdict

start = system.date.addDays(system.date.now(), -7)
end = system.date.now()

events = system.alarm.queryJournal(
    startDate=start,
    endDate=end
)

eventMap = defaultdict(list)

for event in events:
    clearData = event.getClearedData()
    ackData = event.getAckData()
    activeData = event.getActiveData()

    eventMap[str(event.getId())].append({
        "state": str(event.getState()),
        "active": activeData.getTimestamp() if activeData else None,
        "clear": clearData.getTimestamp() if clearData else None,
        "ack": ackData.getTimestamp() if ackData else None
    })

for eventId, records in eventMap.items():
    if len(records) > 1:
        clearTimes = set(r["clear"] for r in records)

        if len(clearTimes) > 1:
            print "=" * 80
            print "Event ID:", eventId
            for r in records:
                print "State: %-15s Active: %-15s Clear: %-15s Ack: %-15s" % (
                    r["state"],
                    r["active"],
                    r["clear"],
                    r["ack"]
                )

Thanks

Currently my workaround for the table is if the alarm went activeUnack - > clearedUnack - > clearedAck, always use the clearedUnack timestamp