1.3, kuraga (ok), 21:05, 20/12/2012 [ответить] [﹢﹢﹢] [ · · · ]
| +3 +/– |
When storing '015700' microseconds in a Datetime object,
Datetime::format('u') returns '015699'. This behavior is critical when
I use optimistic locking.
----
$datetime = Datetime::createFromFormat('u', '015700');
$datetime->format('u'); // => '015699'
----
Datetime objects hold microseconds as "double" type in C.
'015700' is held as 0.015699999999999998679. Datetime::format('u')
calls floor() and it returns .015699.
-----
PATCH
- case 'u': length = slprintf(buffer, 32, "%06d", (int) floor(t->f * 1000000)); break;
+ case 'u': length = slprintf(buffer, 32, "%06d", (int) floor(t->f * 1000000 + 0.5)); break;
Клевое исправление бага!
| |
|
2.5, Andrey Mitrofanov (?), 21:13, 20/12/2012 [^] [^^] [^^^] [ответить]
| +2 +/– |
> - case 'u': length = slprintf(buffer, 32, "d", (int) floor(t->f * 1000000));
> break;
> + case 'u': length = slprintf(buffer, 32, "d", (int) floor(t->f * 1000000
> + 0.5)); break;
> Клевое исправление бага!
Откройте для себя... математику!
Они все http://stackoverflow.com/questions/485525/round-for-float-in-c сделали для себя из имеющегося froor() отсутствующий round(). "Клёва", да? Ну-ну.
| |
|
|
Часть нити удалена модератором |
4.11, Аноним (-), 01:07, 21/12/2012 [ответить]
| –2 +/– |
Именно! Настоящие программисты оперируют датой и временем исключительно в строковом виде.
| |
|
|
|
1.4, Аноним (-), 21:11, 20/12/2012 [ответить] [﹢﹢﹢] [ · · · ]
| –3 +/– |
Куда они все время спешат?! Не все еще к 5.3 привыкли, а ей уже пора сказать до свидания. Но если новый регламент будет эффективен, то ветка PHP 5.4 задержится подольше. Интересно, что они обычно поддерживают две ветки, причем обе всегда помечены как стабильные.
Интересно почему за все время существования проекта ни кто не создал форк
| |
|
2.7, Аноним (7), 22:42, 20/12/2012 [^] [^^] [^^^] [ответить]
| +2 +/– |
а что в этом такого плохого? обновитесь до 5.4, просто не использовать функции которые deprecated. Не вижу в этом ничего зазорного
| |
2.14, Аноним (-), 09:05, 21/12/2012 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Интересно почему за все время существования проекта ни кто не создал форк
Форки делают, если, например, не согласны с политикой разработчиков, хочется добавить фич, которые не берут в майнлайн. Но такая ситуация для пхп выглядит дико, поскольку его любят совсем за другое - можно хотя бы вспомнить то, что это потомок не менее мощного Perl. Так что тем, кому требуются фичи и вообще грамотно спроектированный язык, проще уйти на что-нибудь другое
| |
|
3.17, Аноним (-), 15:02, 21/12/2012 [^] [^^] [^^^] [ответить]
| +2 +/– |
> потомок не менее мощного Perl
Это как вырезанная опухоль - потомок человека.
| |
|
|
1.10, GentooBoy (ok), 00:24, 21/12/2012 [ответить] [﹢﹢﹢] [ · · · ]
| –5 +/– |
Как я понял
5.4.10 - бета версия
5.3.20 - вот что это за версия хз ? Как её обозвать 13 ошибок.
| |
|
2.12, Adui (?), 01:24, 21/12/2012 [^] [^^] [^^^] [ответить]
| +3 +/– |
5.3 - Legacy versions
5.4 - Stable version
5.5 - Development version
| |
|
1.16, terr0rist (ok), 13:48, 21/12/2012 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
> Разработчики напоминают, что ветка 5.3.x подходит к концу своего жизненного пути
скорее РНР подходит к концу своего жизненного пути.
Новость от 21.12.2017:
"Состоялся релиз РНР 6.0. Он основан на кодовой базе Python 2.0, но с сохранением синтакиса РНР. В версии 7.0 (по оптимистичным прогнозам, через 20 лет) мы планируем полностью перейти на синтаксис Python, а сейчас пока объявляем синтаксис РНР deprecated. Напоминаем, что ветки РНР 5.23, 5.24, 5.25 и выше подошли к концу своего жизненного цикла, так и не появившись."
| |
|