in reply to question about unix timestamps (epoch)

Looking at Time::Duration (which Limbic~Region suggested), I note that it doesn't work on dates as such, which means that it may or may not do what you want.

For instance, like your posted code, it won't take into account leap seconds, DST or anything like that - it just figures a day is always 24 hours of 60 minutes of 60 seconds.

If you want to take those into account, take a look at DateTime.

As a side note: what humans think of as "X days (ago)" is something subtler and more complex than 60 * 60 * 24 seconds. For instance, yesterday evening is "a day ago" even if right now it's only 17 hours ago.

For those kind of "days" it may be more appropriate to do the calculation only looking at the year & day-of-the-year.

  • Comment on Re: question about unix timestamps (epoch)