echo "Duration: {$time} is " . $t . " seconds\n"; } else { $t = SOAP_Type_duration::unix_to_duration($time); echo "Seconds: {$time} is " . $t . " duration\n"; } return $t; } function add($d1, $d2) { $s1 = SOAP_Type_duration::duration_to_unix($d1); $s2 = SOAP_Type_duration::duration_to_unix($d2); return SOAP_Type_duration::unix_to_duration($s1 + $s2); } function subtract($d1, $d2) { $s1 = SOAP_Type_duration::duration_to_unix($d1); $s2 = SOAP_Type_duration::duration_to_unix($d2); return SOAP_Type_duration::unix_to_duration($s1 - $s2); } } /* tests */ $t = SOAP_Type_duration::_test('P1Y2M3DT10H30M'); SOAP_Type_duration::_test($t); $t = SOAP_Type_duration::_test('-P120D'); SOAP_Type_duration::_test($t); // duration since 1970 $t = SOAP_Type_duration::_test(time()); SOAP_Type_duration::_test($t); print "Add should be PT0S: " . SOAP_Type_duration::add('-P120D', 'P4M') . "\n"; print "Subtract should be PT0S: " . SOAP_Type_duration::subtract('P120D', 'P4M') . "\n";
echo "Duration: {$time} is " . $t . " seconds\n"; } else { $t = SOAP_Type_duration::unix_to_duration($time); echo "Seconds: {$time} is " . $t . " duration\n"; } return $t; } function add($d1, $d2) { $s1 = SOAP_Type_duration::duration_to_unix($d1); $s2 = SOAP_Type_duration::duration_to_unix($d2); return SOAP_Type_duration::unix_to_duration($s1 + $s2); } function subtract($d1, $d2) { $s1 = SOAP_Type_duration::duration_to_unix($d1); $s2 = SOAP_Type_duration::duration_to_unix($d2); return SOAP_Type_duration::unix_to_duration($s1 - $s2); } } /* Tests. */ $t = SOAP_Type_duration::_test('P1Y2M3DT10H30M'); SOAP_Type_duration::_test($t); $t = SOAP_Type_duration::_test('-P120D'); SOAP_Type_duration::_test($t); /* Duration since 1970. */ $t = SOAP_Type_duration::_test(time()); SOAP_Type_duration::_test($t); echo 'Add should be PT0S: ' . SOAP_Type_duration::add('-P120D', 'P4M') . "\n"; echo 'Subtract should be PT0S: ' . SOAP_Type_duration::subtract('P120D', 'P4M') . "\n";