# 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
Recommended Articles
Page :