unixtojd

(PHP 4, PHP 5)

unixtojd -- Convert Unix timestamp to Julian Day

Description

int unixtojd ( [int timestamp] )

Return the Julian Day for a Unix timestamp (seconds since 1.1.1970), or for the current day if no timestamp is given.

See also jdtounix().


add a note add a note User Contributed Notes
warhog at warhog d0t net
13-Jul-2005 05:11
Well, that's neither a bug, nor an interesting quirk.. The explanation is quite simple:

The Integer containing a julian date (jd) only stores the date, not the time. When you convert a unix-timestamp, which stores also the time, into a jd, the time-information won't be transferred into the jd. When converting back the jd into a unix-timestamp, you'll get a timestamp for the specific day at 2 o'clock am. ( 02:00:00 )

Sample:
   Timestamp: 1121206013
   JD: 2453565

   Timestamp from JD: 1121212800

   Original Timestamp "d.m.y H:i:s": 13.07.2005 00:06:53
   Timstamp from JD "d.m.y H:i:s": 13.07.2005 02:00:00

greetz
Mike
22-Dec-2004 12:57
Interesting quirk ... maybe bug.
If you use today = unixtojd(time())
then use jdtounix(today) the result is one day short of today.
johnston at capsaicin dot ca
20-Nov-2003 05:43
Also note that epoch is in UTC time (epoch is a specific point in time - epoch is not different for every time zone), so be aware of timezone complexities.
pipian at pipian dot com
13-Jun-2003 12:29
Remember that UNIX timestamps indicate a number of seconds from midnight of January 1, 1970 on the Gregorian calendar, not the Julian Calendar.