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)
6868 && isset ($ native ['$reql_type$ ' ]) && $ native ['$reql_type$ ' ] == 'TIME ' ) {
6969 $ time = $ native ['epoch_time ' ];
7070 $ 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+ }
7284
7385 return $ datetime ;
7486 }
You can’t perform that action at this time.
0 commit comments