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