Diff Between 2 Dates

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Mike

    Diff Between 2 Dates

    I am trying to find the difference between 2 dates. The problem that I am having is that all
    routines in the PHP Manual and all of the scripts I have seen on the Internet only allow a date as
    old as 1970. I am trying to find the age of a person in months so 1970 is not far back enough. Does
    anyone know of a script where 1970 is not a restriction?

    Thanks in advance.

    Mike


  • Carl Vondrick

    #2
    Re: Diff Between 2 Dates

    Mike wrote:[color=blue]
    > I am trying to find the difference between 2 dates. The problem that I am having is that all
    > routines in the PHP Manual and all of the scripts I have seen on the Internet only allow a date as
    > old as 1970. I am trying to find the age of a person in months so 1970 is not far back enough. Does
    > anyone know of a script where 1970 is not a restriction?
    >
    > Thanks in advance.
    >
    > Mike
    >
    >[/color]
    Does the server run Linux or Windows?

    --
    Carl Vondrick
    Professor of Computer Science at Columbia University, researching computer vision, machine learning, and AI applications.

    usenet [at] carlsoft [dot] net

    Comment

    • Janwillem Borleffs

      #3
      Re: Diff Between 2 Dates

      Mike wrote:[color=blue]
      > I am trying to find the difference between 2 dates. The problem that
      > I am having is that all routines in the PHP Manual and all of the
      > scripts I have seen on the Internet only allow a date as old as 1970.
      > I am trying to find the age of a person in months so 1970 is not far
      > back enough. Does anyone know of a script where 1970 is not a
      > restriction?
      >[/color]

      Have a look at the calendar extension:




      JW


      Comment

      • Chung Leong

        #4
        Re: Diff Between 2 Dates


        Mike wrote:[color=blue]
        > I am trying to find the difference between 2 dates. The problem that I am having is that all
        > routines in the PHP Manual and all of the scripts I have seen on the Internet only allow a date as
        > old as 1970. I am trying to find the age of a person in months so 1970 is not far back enough. Does
        > anyone know of a script where 1970 is not a restriction?
        >
        > Thanks in advance.
        >
        > Mike[/color]

        The solution is quite simple. This is how people do it in their heads.
        First, substract the year the person is born from the current year.
        Then, check whether the person has already celebrated his/her birthday
        this year. If not--substract one.

        Here's an implementation:

        function age($year, $month, $day) {
        $now_ts = time();
        $now_a = getdate($now_ts );
        $age = $now_a['year'] - $year;
        $bday_ts = mktime(0, 0, 0, $month, $day, $now_a['year']);
        if($now_ts < $bday_ts) {
        $age--;
        }
        return $age;
        }

        Comment

        • Richard Levasseur

          #5
          Re: Diff Between 2 Dates

          Be aware this works fine for someone's age, but for more precise date
          calculations, especially at much older/earlier dates, you will have to
          account for all the funny time changes, corrections, and drift that
          have taken place (like how they skipped a couple days completely to
          make up for lost time). So i would suggest either reading up on
          date/time calculations extensively or finding a good preexisting library

          Comment

          • Gordon Burditt

            #6
            Re: Diff Between 2 Dates

            >I am trying to find the difference between 2 dates. The problem that I[color=blue]
            >am having is that all
            >routines in the PHP Manual and all of the scripts I have seen on the
            >Internet only allow a date as
            >old as 1970. I am trying to find the age of a person in months so 1970
            >is not far back enough. Does
            >anyone know of a script where 1970 is not a restriction?[/color]

            PHP suffers from the limitations of a UNIX time_t. I recommend
            using MySQL date functions where the allowed range includes the
            years 1 thru 9999, which is good enough for most practical uses.

            Gordon L. Burditt

            Comment

            Working...