By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
438,216 Members | 1,013 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 438,216 IT Pros & Developers. It's quick & easy.

how can I use getdate(...) excluding TZ.

P: n/a

Hi,

My timezone is GMT +2
So when I do a
$date = getdate( 0 );

I get:

$date =
{
['seconds'] (integer) = 0
['minutes'] (integer) = 0
['hours'] (integer) = 2 //<-- Hour is not 0 but +2
['mday'] (integer) = 1
['wday'] (integer) = 4
['mon'] (integer) = 1
['year'] (integer) = 1970
['yday'] (integer) = 0
['weekday'] (string) = "Thursday"
['month'] (string) = "January"
['0'] (integer) = 0
}

I cannot do:
$date = getdate( 0 - (2*3600) );
as negative numbers are not accepted, (on the window server).

So how can I do getdate( 0 ) and return the value without it been
converted by the server TZ.
Using setlocal(...) is also a bit of a Hacky kind of way of doing
things.

FFMG
--

'webmaster forum' (http://www.httppoint.com) | 'webmaster Directory'
(http://www.webhostshunter.com/) | 'Recreation Vehicle insurance'
(http://www.insurance-owl.com/other/car_rec.php)
'Free URL redirection service' (http://urlkick.com/)
------------------------------------------------------------------------
FFMG's Profile: http://www.httppoint.com/member.php?userid=580
View this thread: http://www.httppoint.com/showthread.php?t=14320

Message Posted via the webmaster forum http://www.httppoint.com, (Ad revenue sharing).

May 2 '07 #1
Share this Question
Share on Google+
6 Replies


P: n/a
On May 2, 9:03 am, FFMG <FFMG.2py...@no-mx.httppoint.comwrote:
Hi,

My timezone is GMT +2
So when I do a
$date = getdate( 0 );

I get:

$date =
{
['seconds'] (integer) = 0
['minutes'] (integer) = 0
['hours'] (integer) = 2 //<-- Hour is not 0 but +2
['mday'] (integer) = 1
['wday'] (integer) = 4
['mon'] (integer) = 1
['year'] (integer) = 1970
['yday'] (integer) = 0
['weekday'] (string) = "Thursday"
['month'] (string) = "January"
['0'] (integer) = 0

}

I cannot do:
$date = getdate( 0 - (2*3600) );
as negative numbers are not accepted, (on the window server).

So how can I do getdate( 0 ) and return the value without it been
converted by the server TZ.
Using setlocal(...) is also a bit of a Hacky kind of way of doing
things.

FFMG

--

'webmaster forum' (http://www.httppoint.com) | 'webmaster Directory'
(http://www.webhostshunter.com/) | 'Recreation Vehicle insurance'
(http://www.insurance-owl.com/other/car_rec.php)
'Free URL redirection service' (http://urlkick.com/)
------------------------------------------------------------------------
FFMG's Profile:http://www.httppoint.com/member.php?userid=580
View this thread:http://www.httppoint.com/showthread.php?t=14320

Message Posted via the webmaster forumhttp://www.httppoint.com, (Ad revenue sharing).
getdate(time() - (2*3600)) perhaps?

May 2 '07 #2

P: n/a
On May 2, 3:03 am, FFMG <FFMG.2py...@no-mx.httppoint.comwrote:
Hi,

My timezone is GMT +2
So when I do a
$date = getdate( 0 );

I get:

$date =
{
['seconds'] (integer) = 0
['minutes'] (integer) = 0
['hours'] (integer) = 2 //<-- Hour is not 0 but +2
['mday'] (integer) = 1
['wday'] (integer) = 4
['mon'] (integer) = 1
['year'] (integer) = 1970
['yday'] (integer) = 0
['weekday'] (string) = "Thursday"
['month'] (string) = "January"
['0'] (integer) = 0

}

I cannot do:
$date = getdate( 0 - (2*3600) );
as negative numbers are not accepted, (on the window server).

So how can I do getdate( 0 ) and return the value without it been
converted by the server TZ.
Using setlocal(...) is also a bit of a Hacky kind of way of doing
things.

FFMG

--

'webmaster forum' (http://www.httppoint.com) | 'webmaster Directory'
(http://www.webhostshunter.com/) | 'Recreation Vehicle insurance'
(http://www.insurance-owl.com/other/car_rec.php)
'Free URL redirection service' (http://urlkick.com/)
------------------------------------------------------------------------
FFMG's Profile:http://www.httppoint.com/member.php?userid=580
View this thread:http://www.httppoint.com/showthread.php?t=14320

Message Posted via the webmaster forumhttp://www.httppoint.com, (Ad revenue sharing).
Timestamps don't have a time zone -- they're always in GMT. So, when
you say a timestamp of zero, that's Jan 1, 1970 0:00 GMT -- which,
because your GMT offset is +2, is really Jan 1, 1970 02:00 in your
timezone.

What is it that you're trying to accomplish? Do you want the
timestamp for midnight on Jan 1, 1970 in /your/ timezone? Try this:

strtotime('Jan 1 2007');

May 2 '07 #3

P: n/a
On May 2, 9:26 am, ZeldorBlat <zeldorb...@gmail.comwrote:
On May 2, 3:03 am, FFMG <FFMG.2py...@no-mx.httppoint.comwrote:
Hi,
My timezone is GMT +2
So when I do a
$date = getdate( 0 );
I get:
$date =
{
['seconds'] (integer) = 0
['minutes'] (integer) = 0
['hours'] (integer) = 2 //<-- Hour is not 0 but +2
['mday'] (integer) = 1
['wday'] (integer) = 4
['mon'] (integer) = 1
['year'] (integer) = 1970
['yday'] (integer) = 0
['weekday'] (string) = "Thursday"
['month'] (string) = "January"
['0'] (integer) = 0
}
I cannot do:
$date = getdate( 0 - (2*3600) );
as negative numbers are not accepted, (on the window server).
So how can I do getdate( 0 ) and return the value without it been
converted by the server TZ.
Using setlocal(...) is also a bit of a Hacky kind of way of doing
things.
FFMG
--
'webmaster forum' (http://www.httppoint.com) | 'webmaster Directory'
(http://www.webhostshunter.com/) | 'Recreation Vehicle insurance'
(http://www.insurance-owl.com/other/car_rec.php)
'Free URL redirection service' (http://urlkick.com/)
------------------------------------------------------------------------
FFMG's Profile:http://www.httppoint.com/member.php?userid=580
View this thread:http://www.httppoint.com/showthread.php?t=14320
Message Posted via the webmaster forumhttp://www.httppoint.com, (Ad revenue sharing).

Timestamps don't have a time zone -- they're always in GMT. So, when
you say a timestamp of zero, that's Jan 1, 1970 0:00 GMT -- which,
because your GMT offset is +2, is really Jan 1, 1970 02:00 in your
timezone.

What is it that you're trying to accomplish? Do you want the
timestamp for midnight on Jan 1, 1970 in /your/ timezone? Try this:

strtotime('Jan 1 2007');
Ooops -- should have been:

strtotime('Jan 1 1970');

May 2 '07 #4

P: n/a

Chung Leong;62646 Wrote:
>
getdate(time() - (2*3600)) perhaps?
Yes that would work for the current time.

But as mentioned in my OP that will not work for 1/1/1970
you cannot do
>$date = getdate( 0 - (2*3600) );
as negative numbers are not accepted, (on the window server).
Regards.

FFMG
--

'webmaster forum' (http://www.httppoint.com) | 'webmaster Directory'
(http://www.webhostshunter.com/) | 'Recreation Vehicle insurance'
(http://www.insurance-owl.com/other/car_rec.php)
'Free URL redirection service' (http://urlkick.com/)
------------------------------------------------------------------------
FFMG's Profile: http://www.httppoint.com/member.php?userid=580
View this thread: http://www.httppoint.com/showthread.php?t=14320

Message Posted via the webmaster forum http://www.httppoint.com, (Ad revenue sharing).

May 2 '07 #5

P: n/a

ZeldorBlat;62659 Wrote:
On May 2, 3:03 am, FFMG <FFMG.2py...@no-mx.httppoint.comwrote:
Hi,

My timezone is GMT +2
So when I do a
$date = getdate( 0 );

I get:

$date =
{
['seconds'] (integer) = 0
['minutes'] (integer) = 0
['hours'] (integer) = 2 //<-- Hour is not 0 but +2
['mday'] (integer) = 1
['wday'] (integer) = 4
['mon'] (integer) = 1
['year'] (integer) = 1970
['yday'] (integer) = 0
['weekday'] (string) = "Thursday"
['month'] (string) = "January"
['0'] (integer) = 0

}

I cannot do:
$date = getdate( 0 - (2*3600) );
as negative numbers are not accepted, (on the window server).

So how can I do getdate( 0 ) and return the value without it been
converted by the server TZ.
Using setlocal(...) is also a bit of a Hacky kind of way of doing
things.

FFMG

--

'webmaster forum' (http://www.httppoint.com) | 'webmaster Directory'
(http://www.webhostshunter.com/) | 'Recreation Vehicle insurance'
(http://www.insurance-owl.com/other/car_rec.php)
'Free URL redirection service' (http://urlkick.com/)
------------------------------------------------------------------------
FFMG's Profile:http://www.httppoint.com/member.php?userid=580
View this thread:http://www.httppoint.com/showthread.php?t=14320

Message Posted via the webmaster forumhttp://www.httppoint.com, (Ad
revenue sharing).

Timestamps don't have a time zone -- they're always in GMT. So, when
you say a timestamp of zero, that's Jan 1, 1970 0:00 GMT -- which,
because your GMT offset is +2, is really Jan 1, 1970 02:00 in your
timezone.

What is it that you're trying to accomplish? Do you want the
timestamp for midnight on Jan 1, 1970 in /your/ timezone? Try this:

strtotime('Jan 1 2007');
My server is in the US with GMT+5 and I am working in GMT-2.
One is a *nix machine, the other a Windows.

I use a value of 0, (1/1/1970), to show that the date has not been
set.
The Unix Value is saved on the DB.
So when I do if( $date == 0) then ... I know that the date has not been
set.

mktime(...) as a GMT function but
getdate(...) does not.

And in my case I often use the two to set date ranges, (so if a user
registered on 1/1/1987 @ 12:33:20 I want to set the date on the DB as
1/1/1987 @ 00:00:00).

But because getdate(...) converts the dates sometimes it does not work
as expected.
For 1/1/1970 The date becomes 1/1/1969 19:00, (it works on the Unix
Box).
If the user registers between 0:00 and 05:00 they get access for the
day, (and sometimes the month before), because they pay by the day, I
don't want to cheat them.

So what I want is when I use getdate(0) I will get just that, the
1/1/1970 0:00:00, without having to worry about TZ.

At the end of the day I want to be assured that the date I passed to
getdate(...) is exactly the value that I passed, not a 'adjusted'
server time.

I hope I am making it a little clearer what I am using the dates for.

FFMG
--

'webmaster forum' (http://www.httppoint.com) | 'webmaster Directory'
(http://www.webhostshunter.com/) | 'Recreation Vehicle insurance'
(http://www.insurance-owl.com/other/car_rec.php)
'Free URL redirection service' (http://urlkick.com/)
------------------------------------------------------------------------
FFMG's Profile: http://www.httppoint.com/member.php?userid=580
View this thread: http://www.httppoint.com/showthread.php?t=14320

Message Posted via the webmaster forum http://www.httppoint.com, (Ad revenue sharing).

May 2 '07 #6

P: n/a
On May 2, 6:36 pm, FFMG <FFMG.2py...@no-mx.httppoint.comwrote:
Chung Leong;62646 Wrote:
getdate(time() - (2*3600)) perhaps?

Yes that would work for the current time.

But as mentioned in my OP that will not work for 1/1/1970
you cannot do
$date = getdate( 0 - (2*3600) );
as negative numbers are not accepted, (on the window server).

Regards.

FFMG

--

'webmaster forum' (http://www.httppoint.com) | 'webmaster Directory'
(http://www.webhostshunter.com/) | 'Recreation Vehicle insurance'
(http://www.insurance-owl.com/other/car_rec.php)
'Free URL redirection service' (http://urlkick.com/)
------------------------------------------------------------------------
FFMG's Profile:http://www.httppoint.com/member.php?userid=580
View this thread:http://www.httppoint.com/showthread.php?t=14320

Message Posted via the webmaster forumhttp://www.httppoint.com, (Ad revenue sharing).
Sorry. Wasn't reading carefully.

As there is no GMT version of getdate(), I think you'll need to obtain
each component of the date using gmdate().

May 2 '07 #7

This discussion thread is closed

Replies have been disabled for this discussion.