According to John Lange:
Here is how you print epoc:
$ date -u --date "Jan 1, 1970 00:00:00" +%s 0
Now in our time zone: $ date -u --date "Jan 1, 1970 00:00:00 +0600" +%s -21600
So,
$ date -u --date "Jan 1, 1970 00:00:00 +0600 + 1102439250 seconds" Tue Dec 7 11:07:30 UTC 2004
Ya, that seems crazy complicated but its the only way I could get it to work using strictly the bash command line.
Using further formating options would clean up the output including correcting the timezone indicator.
Simplifying for local time zone...
% date ; date --date "Jan 1, 1970 00:00:00 +0000 + `date +%s` seconds" Tue Dec 7 12:09:35 CST 2004 Tue Dec 7 12:09:35 CST 2004 %
I wish the GNU date(1) man page would explain the input formats better. The simply use the keyword "STRING" without ever defining what a valid "STRING" would be. There's a lot of power there, once you know what's allowed.