Skip to content
uencoder
TUTORIAL

How to Calculate Time Differences

Compute the duration between two dates or timestamps in various units.

Problem

You need to know how much time elapsed between two dates, expressed in days, hours, minutes, or seconds.

Prerequisites

  • Understanding of timestamps
  • Basic arithmetic

Steps

  1. 1. Convert both dates to a common unit

    Parse both dates into Unix timestamps (milliseconds since epoch). This gives a common unit for subtraction. Ensure both dates are in the same timezone (UTC is recommended) to avoid off-by-hour errors.

    Input
    2023-10-14 and 2023-10-10
    Output
    timestamps computed
  2. 2. Subtract and convert to desired units

    Subtract the earlier timestamp from the later one to get the difference in milliseconds. Convert to seconds (/1000), minutes (/60000), hours (/3600000), or days (/86400000). Account for the sign if the order is reversed.

    Input
    4 days difference
    Output
    345600000 ms = 4 days
  3. 3. Handle edge cases

    Daylight Saving Time transitions can make a day 23 or 25 hours long. If you need calendar-day differences rather than 24-hour periods, use a date library that accounts for DST. Leap seconds are typically ignored by Unix time.

    Input
    across DST boundary
    Output
    use calendar-aware library

Expected result

The time difference between two dates expressed in the desired unit.

Common errors

Off by one hour due to DST
Use a timezone-aware date library for calendar calculations. Simple millisecond subtraction does not account for DST transitions.
Negative duration
The earlier date was subtracted from the later date. Use absolute value or ensure the order is correct.

Troubleshooting

  • If the difference is off by hours, check for timezone or DST issues.
  • For human-readable durations (e.g., '2 days, 3 hours'), format the result after computing.

Security limits

  • Time difference calculation is a pure computation with no security implications.

Related tools

Related tasks

Ready to run it?

References