如何用Joda金钱和时间实现薪酬租金制度

时间:2015-04-15 10:22:07

标签: time jodatime payment currency period

@Override
public org.joda.money.Money computeCharge(org.joda.time.DateTime from,
                                      org.joda.time.DateTime to){

}

从界面复制的说明:Parkable

计算这段时间内停车的费用。 指定者:接口Parkable中的computeCharge 参数:from - 车辆进入的时间。 至 - 车辆释放的时间。 退货:这里的停车费用。

例如,我们每小时收费8美元。

private void updateCharge() {
    jtc.setText(jcb.getSelectedItem() + " for " + jtf.getText());

    DateTime from = new DateTime(arriveTime.getDate());
    DateTime to = new DateTime(departTime.getDate());
    Period p = new Period(from, to);

    Parkable pk = (Parkable) jcb.getSelectedItem();
    pk.computeCharge(from, to);
    jtc.setText(pk.computeCharge(from, to).toString());
    System.out.println(jcb.getSelectedItem() + " for " + jtf.getText()
            + " costs " + pk.computeCharge(from, to));
}

第二个编码是我的计算器面板。因此,接口实例pk实现了computeCharge方法。然后,System.out.println(...“cost”+ pk.computeCharge(from,to))。请帮帮我。

1 个答案:

答案 0 :(得分:0)

我写了这样的东西;

public static void main(String[] args) {
    DateTime to = new DateTime().minusHours(3).minusSeconds(30);
    DateTime from = new DateTime();
    System.out.println("Total Amount is = " + computeCharge(from, to));
}

public static Money computeCharge(DateTime from, DateTime to) {
    int hourlyAmount = 8;
    Money result = Money.of(CurrencyUnit.USD, hourlyAmount);
    Minutes minutes = Minutes.minutesBetween(to, from);
    return result.multipliedBy(minutes.getMinutes() / 60);
}

您可以针对您的情况进行修改。

输出是;

Total Amount is = USD 24.00