do not assume time_t is long

On Linux time_t is long, on OpenBSD time_t is long long... so printf
statements using %lu on 32-bit platforms will break on !Linux.
The only portable way to print a time_t is using a cast and casting to
"long long" (gint64) is probably the most portable way.

https://bugzilla.gnome.org/show_bug.cgi?id=707900