Re: unix timestamp, strtotime, date, odd behavior?
| From: | Robert Cummings | Date: | Thu, 17 Oct 2002 21:42:26 +0000 |
| Subject: | Re: unix timestamp, strtotime, date, odd behavior? | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-120406@lists.php.net to get a copy of this message | ||
You logic is off by an hour... probably the very same hour we
will lose when the clocks go back shortly for daylight savings.
Cheers,
Rob.
Catherine Pinatiello wrote:
>
> Since unix timestamp is simply seconds, then I figured you could take
> the number of seconds for a two week period (14 days): 1209600 and add
> it to any particular timestamp and then you could convert it back to a
> formatted date using the date() function...
>
> Only thing is.. it's exhibiting odd behavior.
>
> I have a script running that has this output:
>
> This is today: 1034889084
> This is Oct. 04: 1033714800
> This is Oct. 18: 1034924400
> This is a 14 day time period: 1209600
> This is the next timestamp: 1036134000
> This is two weeks from Oct. 18: October, 31, 2002
>
> This script does this:
>
> find timestamp for now
> find timestamp for Oct. 4
> find timestamp for Oct. 18
> Oct. 18 - Oct. 4 = 14 day time period
> Oct. 18 + 14 day time period timestamp
> date func. to find date on resulting timestamp
>
> As you can see it thinks Oct. 31 is two weeks from Oct. 18, when in
> actuality Nov. 1st is. So I figured it was off by one day so I'd
> compensate and tried to find 2 weeks from Oct. 19 instead... and it gave
> me November 2nd! The correct day from Oct. 19! ;)
>
> So I can't find the correct 2 week date from Oct. 18!! ;) I'm afraid it
> will fail for other dates too? Am I doing something wrong?
>
> here's my code:
>
> $today = strtotime ("now");
> $original = strtotime ("04 October 2002");
> $week = strtotime("18 October 2002");
>
> echo "This is today: $today<br>";
> echo "This is Oct. 04: $original";
> echo "<br>This is Oct. 18: $week";
>
> $two_week = $week - $original;
> $next = $week + $two_week;
> $datestamp = date("F, j, Y", $next);
>
> echo "<br>This is a 14 day time period: $two_week";
> echo "<br>This is the next timestamp: $next";
> echo "<br>This is two weeks from Oct. 18: $datestamp";
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
--
.-----------------.
| Robert Cummings |
:-----------------`----------------------------.
| Webdeployer - Chief PHP and Java Programmer |
:----------------------------------------------:
| Mail : mailto:robert.cummings@webmotion.com |
| Phone : (613) 731-4046 x.109 |
:----------------------------------------------:
| Website : http://www.webmotion.com |
| Fax : (613) 260-9545 |
`----------------------------------------------'