Php Date-Formatting Help

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • johndcal@gmail.com

    Php Date-Formatting Help

    Hello All,

    I have a date value that I pull from a .csv file.
    After reading the file and storing the values in an array the value of
    the date could
    be found in $array[1], for example.
    =============== =============== =============== =============== =
    while (($data = fgetcsv($handle ,5000, ",")) !== FALSE) {
    $mydate = $data[3]; // here is the array value that holds the date
    }
    =============== =============== =============== =============== =
    The date will be in either m/d/yyyy or mm/dd/yyyy format.
    Here is the problem. I need to display this date on the page
    in "long" format - i.e. January 5, 2005 instead of 1/5/2005 or
    01/05/2005.

    I have tried to use the date() function, however I can only get the
    formatting to work
    with the current date and not with an 'existing' date.

    date("d.m.Y", $mydate); // this does not work, I get a date from
    1969...

    Any advise would be greatly appreciated!

    JC

  • Erwin Moller

    #2
    Re: Php Date-Formatting Help

    johndcal@gmail. com wrote:
    [color=blue]
    > Hello All,
    >
    > I have a date value that I pull from a .csv file.
    > After reading the file and storing the values in an array the value of
    > the date could
    > be found in $array[1], for example.
    > =============== =============== =============== =============== =
    > while (($data = fgetcsv($handle ,5000, ",")) !== FALSE) {
    > $mydate = $data[3]; // here is the array value that holds the date
    > }
    > =============== =============== =============== =============== =
    > The date will be in either m/d/yyyy or mm/dd/yyyy format.
    > Here is the problem. I need to display this date on the page
    > in "long" format - i.e. January 5, 2005 instead of 1/5/2005 or
    > 01/05/2005.
    >
    > I have tried to use the date() function, however I can only get the
    > formatting to work
    > with the current date and not with an 'existing' date.
    >
    > date("d.m.Y", $mydate); // this does not work, I get a date from
    > 1969...
    >
    > Any advise would be greatly appreciated!
    >
    > JC[/color]

    Hi,

    advise is simple: RTFM.
    Or more friendly: Your answer can be found if you actually read the
    functiondefinit ion at www.php.net.

    Here is a part:
    date

    (PHP 3, PHP 4, PHP 5)
    date -- Format a local time/date
    Description
    string date ( string format [, int timestamp] )

    Returns a string formatted according to the given format string using the
    given integer timestamp or the current local time if no timestamp is given.
    In other words, timestamp is optional and defaults to the value of time().

    So what timestamp did you excactly give?
    A timestamp is NOT string that represents a date, but a number.

    What you need (from the same page at www.php.net) is a function to make a
    timestamp from a stringrepresent ation of a date. That function is called
    strtotime().

    Look it up. :-)

    Good luck.

    Regards,
    Erwin Moller

    Comment

    • Kevin H. Feeley

      #3
      Re: Php Date-Formatting Help

      Erwin Moller wrote:
      [color=blue]
      > johndcal@gmail. com wrote:
      >[color=green]
      >> Hello All,
      >>
      >> I have a date value that I pull from a .csv file.
      >> After reading the file and storing the values in an array the value of
      >> the date could
      >> be found in $array[1], for example.
      >> =============== =============== =============== =============== =
      >> while (($data = fgetcsv($handle ,5000, ",")) !== FALSE) {
      >> $mydate = $data[3]; // here is the array value that holds the date
      >> }
      >> =============== =============== =============== =============== =
      >> The date will be in either m/d/yyyy or mm/dd/yyyy format.
      >> Here is the problem. I need to display this date on the page
      >> in "long" format - i.e. January 5, 2005 instead of 1/5/2005 or
      >> 01/05/2005.
      >>
      >> I have tried to use the date() function, however I can only get the
      >> formatting to work
      >> with the current date and not with an 'existing' date.
      >>
      >> date("d.m.Y", $mydate); // this does not work, I get a date from
      >> 1969...
      >>
      >> Any advise would be greatly appreciated!
      >>
      >> JC[/color]
      >
      > Hi,
      >
      > advise is simple: RTFM.
      > Or more friendly: Your answer can be found if you actually read the
      > functiondefinit ion at www.php.net.
      >
      > Here is a part:
      > date
      >
      > (PHP 3, PHP 4, PHP 5)
      > date -- Format a local time/date
      > Description
      > string date ( string format [, int timestamp] )
      >
      > Returns a string formatted according to the given format string using the
      > given integer timestamp or the current local time if no timestamp is
      > given. In other words, timestamp is optional and defaults to the value of
      > time().
      >
      > So what timestamp did you excactly give?
      > A timestamp is NOT string that represents a date, but a number.
      >
      > What you need (from the same page at www.php.net) is a function to make a
      > timestamp from a stringrepresent ation of a date. That function is called
      > strtotime().
      >
      > Look it up. :-)
      >
      > Good luck.
      >
      > Regards,
      > Erwin Moller[/color]

      The route I take with date formatting from the mm/dd/yyyy or dd/mm/yyyy
      formats is generally:

      list($month,$da y,$year)=explod e("/",$mydate);
      echo(date("F jS, Y",mktime(0,0,0 ,$month,$day,$y ear)));

      Kevin

      Comment

      Working...