Skip to content

Commit 7deb561

Browse files
jhdxrkrakjoe
authored andcommitted
fix bug #75222 DateInterval microseconds property always 0
1 parent b0950ff commit 7deb561

File tree

3 files changed

+21
-1
lines changed

3 files changed

+21
-1
lines changed

NEWS

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@ PHP NEWS
66
. Fixed bug #75220 (Segfault when calling is_callable on parent).
77
(andrewnester)
88

9+
- Date:
10+
. Fixed bug #75222 (DateInterval microseconds property always 0). (jhdxr)
11+
912
- litespeed:
1013
. Fixed bug #75248 (Binary directory doesn't get created when building
1114
only litespeed SAPI). (petk)

ext/date/php_date.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4165,7 +4165,7 @@ zval *date_interval_read_property(zval *object, zval *member, int type, void **c
41654165
GET_VALUE_FROM_STRUCT(i, "i");
41664166
GET_VALUE_FROM_STRUCT(s, "s");
41674167
if (strcmp(Z_STRVAL_P(member), "f") == 0) {
4168-
fvalue = obj->diff->us / 1000000;
4168+
fvalue = obj->diff->us / 1000000.0;
41694169
break;
41704170
}
41714171
GET_VALUE_FROM_STRUCT(invert, "invert");

ext/date/tests/bug75222.phpt

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
--TEST--
2+
Bug #75222 DateInterval microseconds property always 0
3+
--FILE--
4+
<?php
5+
6+
$dt1 = new \DateTimeImmutable('2017-01-01T00:00:00.000000Z');
7+
$dt2 = new \DateTimeImmutable('2017-01-01T00:00:00.123456Z');
8+
$diff = $dt1->diff($dt2);
9+
//var_dump($diff);
10+
var_dump($diff->f);
11+
var_dump(get_object_vars($diff)['f']);
12+
var_dump($diff->f === get_object_vars($diff)['f']);
13+
?>
14+
--EXPECTF--
15+
float(0.123456)
16+
float(0.123456)
17+
bool(true)

0 commit comments

Comments
 (0)