Thanx James for your answers... perhaps I'm missing a piece of the puzzle,
but here is how I corrected or fixed it.
In my included file that gets included in every app and every page, I
placed:
putenv( "TZ=America/Phoenix" );
and all my dates are now local time. SO saving to a mySQL database now I
merely pass in:
$now = date( "Y-m-d H:i:s" );
$result = mysql_query( "INSERT INTO table ( datetime ) values( '$now' )",
$dbConn );
If I ever distribute this app (doubtful) I'll include a fairly extensive
listing of timezones so the putenv() could be appropriately changed... the
list I found and would most likely include is here:
http://www.theprojects.org/dev/zone.txt
> -----Original Message-----
> From: James, Yz [mailto:[EMAIL PROTECTED]]
> Sent: Saturday, August 25, 2001 8:11 AM
> To: [EMAIL PROTECTED]
> Subject: Re: [PHP] local time v.s. server time
>
>
> Hi Joe,
>
> GMT isn't affected by daylight savings (altough in the UK we are using
> British Summer Time at the moment, which is GMT +1), so that's
> the constant
> you can work from if you're not experiencing daylight savings
> schemes where
> you are. I have written out an example for you below.
>
> We get the Y-m-d H:i:s format of time using gmdate() (which Mysql likes).
> We convert that lot to a timestamp. The function I've created takes two
> arguments: whether to add or take time from the timestamp that is
> generated,
> and the offset in hours. So, to emulate what Mysql's now() function does,
> you can do something like this
>
> <?
>
> $now = GenerateOffset("-", "6"); // takes off 6 hours.
> $query = @mysql_query("INSERT INTO table (datetime) VALUES ('$now')",
> $connection);
>
> ?>
>
> And you should get correct datetime formats for your timezone into your
> table (providing you have put your correct offset from GMT).
>
>
> <?
>
> function GenerateOffset($plusminus, $offset) {
>
> $datetime = gmdate("Y-m-d H:i:s");
> list($date, $time) = explode(" ", $datetime);
> list($year, $month, $day) = explode("-", $date);
> list($hour, $minute, $second) = explode(":", $time);
>
> $timestamp = mktime($hour, $minute, $second, $month, $year, $day);
>
> if ($plusminus == "+") {
> $newtime = $timestamp + (3600 * $offset);
> } else {
> $newtime = $timestamp - (3600 * $offset);
> }
>
> $newdate = date("Y-m-d H:i:s", $newtime);
>
> return $newdate;
> }
>
> ?>
>
> Hope this helps.
>
> James
>
> "Joe Sheble )" <[EMAIL PROTECTED]> wrote in message
> > Alas, I don't have this luxury since it's not my server, but one that is
> > hosted with a web hosting provider. They control the setup and
> > configuration of the machines... since it's a shared server I doubt I'll
> > convince them to set the timezone to my location, thus throwing everyone
> > else on the same server out of whack...
> >
> > I can use the putenv() function though for use in PHP and then
> when saving
> > the date and time into mySQL actually use the PHP date and time
> functions
> > instead of the mySQL Now() function...
> >
> > Where would I find the TZ codes to use for my area?
> >
> > thanx
> >
> > > -----Original Message-----
> > > From: Don Read [mailto:[EMAIL PROTECTED]]
> > > Sent: Friday, August 24, 2001 8:39 PM
> > > To: Joe Sheble (Wizaerd)
> > > Cc: General PHP List
> > > Subject: RE: [PHP] local time v.s. server time
> > >
> > >
> > >
> > > On 25-Aug-2001 Joe Sheble \(Wizaerd\) wrote:
> > > > My website is hosted with a provider, and there is a three hour
> > > difference
> > > > in timezones, so when saving date and times to the database,
> > > they reflect
> > > > the server time and not my own local time. The clincher is I
> > > know I could
> > > > do some time math and just substract 3 hours, but I live in
> > > Arizona, so we
> > > > do not go through daylight savings time. So right now it's a three
> hour
> > > > difference, but when the time change happens, I'll only be two
> > > hours behind.
> > > >
> > > > Because of this, what is the best method to get my local
> date and time
> > > > entered into the database instead of the server date and time??
> > > >
> > >
> > > In my case the server is in Atlanta, but I have to sync with my
> > > credit-card
> > > processor on the left coast.
> > >
> > > So first i start the database (MySQL) on Pacific time with:
> > > -----
> > > TZ=PST8PDT
> > > export TZ
> > > /usr/local/bin/safe_mysqld --user=mysql > /dev/null &
> > >
> > > ----
> > > To make PHP date/time functions jive, during initialization:
> > >
> > >
> > > putenv('TZ=PST8PDT'); // Server on Pacific time
> > >
> > > No matter that i'm in Texas (CST), everything is now reported on Pac
> time.
> > >
> > > Regards,
> > > --
> > > Don Read [EMAIL PROTECTED]
> > > -- It's always darkest before the dawn. So if you are going to
> > > steal the neighbor's newspaper, that's the time to do it.
> > >
> > >
> >
>
>
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> To contact the list administrators, e-mail: [EMAIL PROTECTED]
>
>
>
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]