1 回答

TA貢獻(xiàn)1895條經(jīng)驗(yàn) 獲得超3個(gè)贊
飛行時(shí)間(持續(xù)時(shí)間)是出發(fā)時(shí)間和到達(dá)時(shí)間之間經(jīng)過(guò)的時(shí)間(即持續(xù)時(shí)間=到達(dá)時(shí)間-出發(fā)時(shí)間;兩者采用相同的時(shí)間單位)。
由于您的方法被命名為getTimeinMillis
,那么我猜您期望以毫秒為單位的飛行時(shí)間(持續(xù)時(shí)間)(表示為long
)。因此,您應(yīng)該獲得以毫秒為單位的兩個(gè)時(shí)間(出發(fā)和到達(dá))來(lái)計(jì)算持續(xù)時(shí)間(如上所述)。如果不出意外,您可以始終使用不同的返回類(lèi)型。
public?long?getTimeinMillis()?{ ????return?arrivalTime.getTimeInMillis()?-?departureTime.getTimeInMillis(); }
由于您已經(jīng)有了以毫秒為單位的飛行時(shí)間,因此只需進(jìn)行轉(zhuǎn)換即可以分鐘為單位。您可以使用標(biāo)準(zhǔn)Java TimeUnit toMinutes或手動(dòng)計(jì)算如下:
1 分鐘 = 60 秒 = 60 * 1000 毫秒
因此,X 毫秒中的分鐘數(shù) = X / (60 * 1000)
public?long?getFlightTime()?{ ????return?TimeUnit.MILLISECONDS.toMinutes(getTimeinMillis()); ????????//or?return?getTimeinMillis()?/?(60?*?1000);}
上面的代碼將分鐘數(shù)返回為 a?long
,這在大多數(shù)情況下是多余的,因?yàn)?code>int通常足以滿足飛行持續(xù)時(shí)間(以分鐘為單位)。但當(dāng)然,通過(guò)手動(dòng)計(jì)算,您可以根據(jù)預(yù)期精度使用任何類(lèi)型的返回值。
添加回答
舉報(bào)