static function sub($this1, $period) { $time = null; switch ($period->index) { case 0: $n = _hx_deref($period)->params[0]; $time = datetime_utils_DateTimeUtils::addYear($this1 - 62135596800.0 + 62135596800.0, -$n); break; case 1: $n1 = _hx_deref($period)->params[0]; $time = datetime_utils_DateTimeUtils::addMonth($this1 - 62135596800.0 + 62135596800.0, -$n1); break; case 2: $n2 = _hx_deref($period)->params[0]; $time = $this1 - 62135596800.0 - $n2 * 86400; break; case 3: $n3 = _hx_deref($period)->params[0]; $time = $this1 - 62135596800.0 - $n3 * 3600; break; case 4: $n4 = _hx_deref($period)->params[0]; $time = $this1 - 62135596800.0 - $n4 * 60; break; case 5: $n5 = _hx_deref($period)->params[0]; $time = $this1 - 62135596800.0 - $n5; break; case 6: $n6 = _hx_deref($period)->params[0]; $time = $this1 - 62135596800.0 - $n6 * 7 * 86400; break; } return $time + 62135596800.0; }