days since 1 Jan 1970

Discussion in 'Perl' started by vertigo, Jul 7, 2004.

  1. vertigo

    vertigo Guest

    Hello
    How can i count how many there were days since 1 Jan 1970 ?

    Thanx
    Michal
    vertigo, Jul 7, 2004
    #1
    1. Advertising

  2. Gunnar Hjalmarsson, Jul 7, 2004
    #2
    1. Advertising

  3. vertigo

    Purl Gurl Guest

    Gunnar Hjalmarsson wrote:

    > vertigo wrote:


    > > How can i count how many there were days since 1 Jan 1970 ?


    > int time / 86400


    Does that include compensation for leap seconds? =)


    Purl Gurl
    Purl Gurl, Jul 7, 2004
    #3
  4. Purl Gurl wrote:
    > Gunnar Hjalmarsson wrote:
    >>vertigo wrote:
    >>>How can i count how many there were days since 1 Jan 1970 ?

    >>
    >> int time / 86400

    >
    > Does that include compensation for leap seconds? =)


    No, that would be an exercise for a time connoisseur.

    --
    Gunnar Hjalmarsson
    Email: http://www.gunnar.cc/cgi-bin/contact.pl
    Gunnar Hjalmarsson, Jul 7, 2004
    #4
  5. vertigo

    Purl Gurl Guest

    Gunnar Hjalmarsson wrote:

    > Purl Gurl wrote:
    > > Gunnar Hjalmarsson wrote:
    > > > vertigo wrote:


    > >>>How can i count how many there were days since 1 Jan 1970 ?


    > >> int time / 86400


    > > Does that include compensation for leap seconds? =)


    > No, that would be an exercise for a time connoisseur.



    Time connoisseur, typically boys who are almost always
    a good day to a day and a half slower than us girls.

    Since Jan 1, 1970, 34 years and 189 days.

    One year equals 365.2425 days.

    Current 365.242375 days per year, plus or minus a hemispherical .00031
    seconds for our equator solar year. However, I am not a time connoisseur.


    (34 * 365.2425) + 189 = 12607.245 days (plus or minus a second or two)

    int time / 86400 = 12606

    time / 86400 = 12606.8128240741


    You boys are about a day behind us girls, plus or minus a wink or two.


    Purl Gurl
    Purl Gurl, Jul 7, 2004
    #5
  6. vertigo

    Derek Ludwig Guest

    On Wed, 07 Jul 2004 12:34:55 -0700, Purl Gurl wrote:

    <SNIP>

    > int time / 86400 = 12606
    >
    > time / 86400 = 12606.8128240741
    >
    > You boys are about a day behind us girls, plus or minus a wink or two.


    Actually, how would one know if a leap second [ 23 of them since 1970, as
    per ftp://maia.usno.navy.mil/ser7/tai-utc.dat ] is missed on a system,
    unless you have a way to compare its notion of "now" with some other
    systems notion of "now".

    At any rate, the "half-day" is more the result of your local timezone, for
    time() returns the number of seconds in the epoch, which for most (but not
    all) systems is midnight UTC on Jan 1, 1970 [ Dec 31, 1969 19:00
    US/Eastern ]. So:

    int time / 86400

    will return the number of days (UTC) in the current epoch, which may or
    may not be the number of days since Jan 1, 1970. Also, the number of days
    will change at midnight UTC, which happens to be at 5am EST (4am EDT) for
    where I am sitting. This may or may not be a problem for the originator of
    this thread.

    Take a look at the DateTime family of modules: its julian day functions
    may give you what you need.
    Derek Ludwig, Jul 8, 2004
    #6
  7. vertigo

    Joe Smith Guest

    Purl Gurl wrote:

    > Since Jan 1, 1970, 34 years and 189 days.


    You mean 188.5 days. It won't be 189 days until 23:59:59.9999999 GMT.
    (Day-of-year starts at 1 instead of 0.)

    > (34 * 365.2425) + 189 = 12607.245 days (plus or minus a second or two)


    Actually, it can be plus or minus an entire day, since leap day calculations
    don't use fractional days.

    > time / 86400 = 12606.8128240741


    Quite reasonable, since at the time that time() was evaluated, it was not
    a full 189 days after Jan 1, 2004 00:00 GMT.

    -Joe
    Joe Smith, Jul 8, 2004
    #7
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. cyril
    Replies:
    4
    Views:
    1,645
    cyril
    Aug 25, 2003
  2. Summu82
    Replies:
    5
    Views:
    861
    Richard Heathfield
    Jun 7, 2006
  3. Grey Alien

    Unix time (predating epoch of Jan-1970)

    Grey Alien, Jul 19, 2007, in forum: C Programming
    Replies:
    5
    Views:
    577
    Keith Thompson
    Jul 20, 2007
  4. JC
    Replies:
    4
    Views:
    3,237
    Marcel Müller
    Jan 7, 2009
  5. Tom
    Replies:
    7
    Views:
    331
    Dr John Stockton
    Jun 18, 2004
Loading...

Share This Page