Results 1 to 2 of 2

Thread: date +%s one hour off?

  1. #1
    Join Date
    Aug 2009
    Beans
    31

    date +%s one hour off?

    Hi,

    I was trying to compute people's age in years (as a floating point number, so 16 years and 3 months would be ~ 16.25 years)

    To do that I computed their birth date in seconds from 00:00.00 at 1 January 1970, e.g.
    $ sdate=`date -d "11 Nov 1981" +%s`
    and do the same for today
    $ edate=`date +%s`
    and then subtract the two
    $ ddate=`echo "scale=10;${edate}-${sdate}"|bc`

    The floating point number I'm after would then just be the number in $ddate, divided by the number of seconds in a year. That should be the number returned on New Year 1971. For testing I did New Year 1970 first
    $ date -d "1970-01-01 00:00:00" +%s
    which should return 0.

    But it doesn't. It returns -3600. Instead,
    $ date -d "1970-01-01 01:00:00" +%s
    returns 0...

    For my script it doesn't make a difference (I only need to change the time to get the #seconds/year) but does anyone know why date doesn't work as documented?

    I have

    $ uname -a
    Linux hostname 2.6.38-8-generic #42-Ubuntu SMP Mon Apr 11 03:31:24 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux

    and

    $ date --version
    date (GNU coreutils) 8.5
    Copyright (C) 2010 Free Software Foundation, Inc.
    License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law.
    Written by David MacKenzie.

    Thanks,
    Alle Meije

  2. #2
    Join Date
    Feb 2007
    Location
    Romania
    Beans
    Hidden!

    Re: date +%s one hour off?

    You forget to specify the timezone (the epoch is 1970-01-01 00:00:00 UTC):
    Code:
    date -d "1970-01-01 00:00:00 UTC" +%s
    or
    Code:
    date -u -d "1970-01-01" +%s
    or
    Code:
    TZ=UTC date -d "1970-01-01" +%s
    See:
    Code:
    info coreutils 'Examples of date'

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •