File tree Expand file tree Collapse file tree 1 file changed +13
-1
lines changed Expand file tree Collapse file tree 1 file changed +13
-1
lines changed Original file line number Diff line number Diff line change @@ -68,7 +68,19 @@ public function toNative($opts)
68
68
&& isset ($ native ['$reql_type$ ' ]) && $ native ['$reql_type$ ' ] == 'TIME ' ) {
69
69
$ time = $ native ['epoch_time ' ];
70
70
$ format = (strpos ($ time , '. ' ) !== false ) ? 'Y-m-d H:i:s.u ' : 'Y-m-d H:i:s ' ;
71
- $ datetime = new \DateTime (date ($ format , $ time ));
71
+ $ datetime = new \DateTime (date ($ format , $ time ) . " " . $ native ['timezone ' ]);
72
+
73
+ // This is horrible. Just because in PHP 5.3.something parsing "+01:00" as a date interval doesn't work. :(
74
+ $ tzSign = $ native ['timezone ' ][0 ];
75
+ $ tzHours = $ native ['timezone ' ][1 ] . $ native ['timezone ' ][2 ];
76
+ $ tzMinutes = $ native ['timezone ' ][4 ] . $ native ['timezone ' ][5 ];
77
+ if ($ tzSign == "+ " ) {
78
+ $ datetime ->add (new \DateInterval ("PT " . $ tzHours . "H " . $ tzMinutes . "M " ));
79
+ } elseif ($ tzSign == "- " ) {
80
+ $ datetime ->sub (new \DateInterval ("PT " . $ tzHours . "H " . $ tzMinutes . "M " ));
81
+ } else {
82
+ throw new RqlDriverError ("Timezone not understood: " . $ native ['timezone ' ]);
83
+ }
72
84
73
85
return $ datetime ;
74
86
}
You can’t perform that action at this time.
0 commit comments