(
T start,
T end
)
| 1794 | //~ Methoden ------------------------------------------------------ |
| 1795 | |
| 1796 | @Override |
| 1797 | public |
| 1798 | <T extends TimePoint<? super TimeUnit, T>> MachineTime<U> between( |
| 1799 | T start, |
| 1800 | T end |
| 1801 | ) { |
| 1802 | |
| 1803 | long secs; |
| 1804 | int nanos; |
| 1805 | |
| 1806 | if ( |
| 1807 | (this.scale == UTC) |
| 1808 | && (start instanceof UniversalTime) |
| 1809 | ) { |
| 1810 | UniversalTime t1 = (UniversalTime) start; |
| 1811 | UniversalTime t2 = (UniversalTime) end; |
| 1812 | long utc2 = t2.getElapsedTime(UTC); |
| 1813 | long utc1 = t1.getElapsedTime(UTC); |
| 1814 | if (utc2 < 0 || utc1 < 0) { |
| 1815 | throw new UnsupportedOperationException( |
| 1816 | "Cannot calculate SI-duration before 1972-01-01."); |
| 1817 | } |
| 1818 | secs = utc2 - utc1; |
| 1819 | nanos = t2.getNanosecond(UTC) - t1.getNanosecond(UTC); |
| 1820 | } else if (start instanceof UnixTime) { |
| 1821 | UnixTime t1 = (UnixTime) start; |
| 1822 | UnixTime t2 = (UnixTime) end; |
| 1823 | secs = t2.getPosixTime() - t1.getPosixTime(); |
| 1824 | nanos = t2.getNanosecond() - t1.getNanosecond(); |
| 1825 | } else { |
| 1826 | throw new UnsupportedOperationException( |
| 1827 | "Machine time requires objects of type 'UnixTime'."); |
| 1828 | } |
| 1829 | |
| 1830 | return new MachineTime<>(secs, nanos, this.scale); |
| 1831 | |
| 1832 | } |
| 1833 | |
| 1834 | @Override |
| 1835 | public Metric<U> reversible() { |
nothing calls this directly
no test coverage detected