# Robson » Little Red Book » Time #1

## Chapter 1 - Question 3

Given the time in hours, minutes and seconds, compute the total number of seconds that have elapsed since midnight.

### Solution 1

This solution seems almost like cheating because it doesn't use any date functions. However, it outputs the correct result.

`<?`
`    // i'm going to use the current time, rather than making one up`
`    \$hours = date(H);    `
`    \$minutes = date(i);    `
`    \$seconds = date(s);`
` `
`    // add seconds to the total`
`    // add seconds contained within minutes`
`    // add seconds contained within hours`
`    // the brackets aren't required, they just make it easier to understand`
`    \$since_midnight = \$seconds + (\$minutes * 60) + (\$hours * 3600);`
`    `
`    // output the final result`
`    echo 'Seconds since midnight: ' . \$since_midnight;`
`?>`

Which produces:

Seconds since midnight: 9440

### Solution 2

One way to work out the number of seconds that have elapsed since midnight at the current time would be like this:

`<?`
`    // time() returns the seconds since unix epoch for the current time`
`    // strtotime('00:00') returns the seconds since the unix epoch for last midnight`
`    // so taking away the midnight time from the current time, gives the correct result`
`    // instead of 00:00, nothing could be used, but that causes problems with php 4.3.8`
`    echo 'Seconds since midnight: ' . (time() - strtotime('00:00'));`
`?>`

Which produces:

Seconds since midnight: 9440

## Log

• Jan 31, 2005 - Added solution 1 and 2.
© 2004-19 robson | cc unless stated