Edit report at https://bugs.php.net/bug.php?id=81319&edit=1

 ID:                 81319
 Comment by:         antonino dot spampinato86 at gmail dot com
 Reported by:        will dot duncan dot nn at gmail dot com
 Summary:            Incredibly wrong and stupid note is highly ranked on
                     `time()` docs
 Status:             Open
 Type:               Feature/Change Request
 Package:            Website problem
 PHP Version:        Irrelevant
 Block user comment: N
 Private report:     N

 New Comment:

It means if your local time is different from UTC (UTC+00:00/GMT+0000) you have 
to adjust the time zone to see the date in UTC, directly with the date function 
and without changing the timezone. Without using native php functions, 
including gmdate, simple arithmetic is not recommended. time() currently 
returns an integer decimal but if you go too far or too far back you may also 
see a float as it is not covered by the operating system's 32 BIT range. 
https://www.php.net/manual/en/datetime.gettimestamp.php

This is an example I hope it helps you


date_default_timezone_set("Europe/Helsinki");
$time = time(); //GMT+0000

function conversion_offset($time) {
$a = date('Y-m-d H:i:s Z', $time);
$len = strpos($a, ':');
$datetime = substr($a, 0, ($len + (6)));
$b = strtotime($datetime, $time);
$offset = (int) substr($a, ($len + (7)));

if($time > 0 && $offset <= 0)
$result = $time - ($offset);
elseif($time > 0 && $offset >= 0)
$result = $time + $offset;
elseif($time < 0 && $offset >= 0)
$result = $time + $offset;
else
$result = $time - ($offset);
return $result;
}
$time = strtotime('-1980-04-03 00:00:00');
$a = date('Y-m-d H:i:s Z', $time);
$b = gmdate('Y-m-d H:i:s Z', $time);
$date = date('Y-m-d H:i:s Z', conversion_offset($time));
var_dump($time, 'gmdate: ' . $b, 'conversion_offset: ' . $date, 'Local time: ' 
. $a);


Previous Comments:
------------------------------------------------------------------------
[2021-08-01 14:42:42] will dot duncan dot nn at gmail dot com

Description:
------------
https://www.php.net/manual/en/function.time.php#118876

The user is implying that UTC is affected by daylight saving, which is 
obviously not true https://en.wikipedia.org/wiki/Coordinated_Universal_Time

The user is implying that "not every day has 24 hours," however, for UTC, which 
is used for the `time()` function, this is never the case. Under "Mechanism" on 
the Wikipedia article, you can easily find the following quote: "Each day 
contains 24 hours and each hour contains 60 minutes."

I am reporting this as this is the #2 most upvoted note for this page. It is 
incredibly misleading and inaccurate. Notes like this one can greatly damage 
new developers browsing the documentation, especially when said note appears on 
the top.

------------------------------------------------------------------------
[2021-08-01 14:41:14] will dot duncan dot nn at gmail dot com

Description:
------------
https://www.php.net/manual/en/function.time.php#118876

The use is implying that UTC is affected by daylight saving, which is obviously 
not true https://en.wikipedia.org/wiki/Coordinated_Universal_Time

The user is implying that "not every day has 24 hours," however, for UTC, which 
is used for the `time()` function, this is never the case. Under "Mechanism" on 
the Wikipedia article, you can easily find the following quote: "Each day 
contains 24 hours and each hour contains 60 minutes."

I am reporting this as this is the #2 most upvoted note for this page. It is 
incredibly misleading and inaccurate. Notes like this one can greatly damage 
new developers browsing the documentation, especially when said note appears on 
the top.



------------------------------------------------------------------------



--
Edit this bug report at https://bugs.php.net/bug.php?id=81319&edit=1

-- 
PHP Webmaster List Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to