# Python program to convert seconds into hours, minutes and seconds

• Difficulty Level : Medium
• Last Updated : 28 Jan, 2019

Given an integer n (in seconds), convert it into hours, minutes and seconds.

Examples:

```Input : 12345
Output : 3:25:45

Input : 3600
Output : 1:00:00
```

Approach #1 : Naive

This approach is simply a naive approach to get the hours, minutes and seconds by simple mathematical calculations.

 `# Python Program to Convert seconds``# into hours, minutes and seconds`` ` `def` `convert(seconds):``    ``seconds ``=` `seconds ``%` `(``24` `*` `3600``)``    ``hour ``=` `seconds ``/``/` `3600``    ``seconds ``%``=` `3600``    ``minutes ``=` `seconds ``/``/` `60``    ``seconds ``%``=` `60``     ` `    ``return` `"%d:%02d:%02d"` `%` `(hour, minutes, seconds)``     ` `# Driver program``n ``=` `12345``print``(convert(n))`

Output:

```3:25:45
```

Approach #2 : Alternate to the Naive approach

By using the `divmod()` function, which does only a single division to produce both the quotient and the remainder, you can have the result very quickly with only two mathematical operations.

 `# Python Program to Convert seconds``# into hours, minutes and seconds`` ` `def` `convert(seconds):``    ``min``, sec ``=` `divmod``(seconds, ``60``)``    ``hour, ``min` `=` `divmod``(``min``, ``60``)``    ``return` `"%d:%02d:%02d"` `%` `(hour, ``min``, sec)``     ` `# Driver program``n ``=` `12345``print``(convert(n))`

Output:

```3:25:45
```

Approach #3 : Using `timedelta` (Object of `datetime` module)

Datetime module provides timedelta object which represents a duration, the difference between two dates or times. `datetime.timedelta` can be used to represent seconds into hours, minutes and seconds format.

 `# Python Program to Convert seconds``# into hours, minutes and seconds``import` `datetime`` ` `def` `convert(n):``    ``return` `str``(datetime.timedelta(seconds ``=` `n))``     ` `# Driver program``n ``=` `12345``print``(convert(n))`

Output:

```3:25:45
```

Approach #4 : Using `time.strftime()`

`time.strftime()` gives more control over formatting. The format and `time.gmtime()` is passed as argument. gmtime is used to convert seconds to special tuple format that `strftime()` requires.

 `# Python Program to Convert seconds``# into hours, minutes and seconds`` ` `import` `time`` ` `def` `convert(seconds):``    ``return` `time.strftime(``"%H:%M:%S"``, time.gmtime(n))``     ` `# Driver program``n ``=` `12345``print``(convert(n))`

Output:

```03:25:45
```

My Personal Notes arrow_drop_up