- MF51: Fixed tests due to class constants patch.
return "UTC";
}
-static timelib_tzinfo *get_timezone_info(TSRMLS_D)
+PHPAPI timelib_tzinfo *get_timezone_info(TSRMLS_D)
{
char *tz;
timelib_tzinfo *tzi;
/* Mechanism to set new TZ database */
PHPAPI void php_date_set_tzdb(timelib_tzdb *tzdb);
+PHPAPI timelib_tzinfo *get_timezone_info(TSRMLS_D);
#endif /* PHP_DATE_H */
--- /dev/null
+--TEST--
+Bug #34304 ()
+--FILE--
+<?php
+date_default_timezone_set("UTC");
+echo date('o\-\WW\-N', strtotime('2 January 2005')), "\n";
+echo date('o\-\WW\-N', strtotime('9 January 2005')), "\n";
+?>
+--EXPECT--
+2004-W53-7
+2005-W01-7
--- /dev/null
+--TEST--
+Bug #35143 (gettimeofday() ignores current time zone)
+--FILE--
+<?php
+date_default_timezone_set("UTC");
+
+var_dump(date_default_timezone_get());
+var_dump(gettimeofday());
+?>
+--EXPECTF--
+string(3) "UTC"
+array(4) {
+ ["sec"]=>
+ int(%d)
+ ["usec"]=>
+ int(%d)
+ ["minuteswest"]=>
+ int(0)
+ ["dsttime"]=>
+ int(0)
+}
<?php
date_default_timezone_set("GMT");
$d = date_create("2005-07-18 22:10:00 +0400");
-echo $d->format(DATE_RFC822), "\n";
+echo $d->format(date::RFC822), "\n";
?>
--EXPECT--
Mon, 18 Jul 2005 22:10:00 GMT+0400
--TEST--
date_create() function [3]
+--SKIPIF--
+<?php if (!function_exists('date_create')) echo "SKIP"; ?>
--FILE--
<?php
date_default_timezone_set("GMT");
<?php
date_default_timezone_set("Pacific/Kwajalein");
$ts = date_create("Thu Aug 19 1993 23:59:59");
-echo date_format($ts, DATE_RFC822), "\n";
+echo date_format($ts, date::RFC822), "\n";
$ts->modify("+1 second");
-echo date_format($ts, DATE_RFC822), "\n";
+echo date_format($ts, date::RFC822), "\n";
date_default_timezone_set("Europe/Amsterdam");
$ts = date_create("Sun Mar 27 01:59:59 2005");
-echo date_format($ts, DATE_RFC822), "\n";
+echo date_format($ts, date::RFC822), "\n";
$ts->modify("+1 second");
-echo date_format($ts, DATE_RFC822), "\n";
+echo date_format($ts, date::RFC822), "\n";
$ts = date_create("Sun Oct 30 01:59:59 2005");
-echo date_format($ts, DATE_RFC822), "\n";
+echo date_format($ts, date::RFC822), "\n";
$ts->modify("+ 1 hour 1 second");
-echo date_format($ts, DATE_RFC822), "\n";
+echo date_format($ts, date::RFC822), "\n";
?>
--EXPECT--
Thu, 19 Aug 1993 23:59:59 KWAT
<?php
date_default_timezone_set("GMT");
$d = date_create("2005-07-18 22:10:00 +0400");
-echo date_format($d, DATE_RFC822), "\n";
+echo date_format($d, date::RFC822), "\n";
date_modify($d, "+1 hour");
-echo date_format($d, DATE_RFC822), "\n";
+echo date_format($d, date::RFC822), "\n";
?>
--EXPECT--
Mon, 18 Jul 2005 22:10:00 GMT+0400
#include <errno.h>
#include "microtime.h"
+#include "ext/date/php_date.h"
#define NUL '\0'
#define MICRO_IN_SEC 1000000.00
}
if (mode) {
+ timelib_time_offset *offset;
+
+ offset = timelib_get_time_zone_info(tp.tv_sec, get_timezone_info(TSRMLS_C));
+
array_init(return_value);
add_assoc_long(return_value, "sec", tp.tv_sec);
add_assoc_long(return_value, "usec", tp.tv_usec);
-#ifdef PHP_WIN32
- add_assoc_long(return_value, "minuteswest", tz.tz_minuteswest/SEC_IN_MIN);
-#else
- add_assoc_long(return_value, "minuteswest", tz.tz_minuteswest);
-#endif
- add_assoc_long(return_value, "dsttime", tz.tz_dsttime);
+
+ add_assoc_long(return_value, "minuteswest", -offset->offset / SEC_IN_MIN);
+ add_assoc_long(return_value, "dsttime", offset->is_dst);
+
+ timelib_time_offset_dtor(offset);
} else {
char ret[100];