2つの時間を取得し、それらの時差を計算しそれに*300をし結果を出力するプログラムを作っています。 workspace.java package org.parking.java; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; class Parking { SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); Date dateTo1 = null; Date dateTo2 = null; private long dayDiff; public Parking() { try{ dateTo1 = sdf.parse("2017/09/14 10:00:00"); dateTo2 = sdf.parse("2017/09/15 09:00:00"); System.out.println("パーキングシステムを作りました。"); } catch (ParseException e){ e.printStackTrace(); } } public void setParking(Date dateTo1,Date dateTo2)// { long dateTimeTo = dateTo1.getTime(); long dateTimeFrom = dateTo2.getTime(); this.dayDiff = (dateTimeFrom - dateTimeTo)/(1000*60*60); } public void show() { System.out.println("日数(FROM) : " + sdf.format(dateTo1)); System.out.println("日数(TO) : " + sdf.format(dateTo2)); System.out.println("差分時間: " + this.dayDiff); System.out.println("納車してから"+ this.dayDiff +"時間が経ちましたので料金は"+ (this.dayDiff*300) +"となります。"); } } Parkingsub.java package org.parking.java; class Sample1 { public static void main(String[] args) { Parking parking1 = new Parking(); parking1.show(); } } これで一応実行はできるんですけど、実行結果が パーキングシステムを作りました。 日数(FROM) : 2017/09/14 10:00:00 日数(TO) : 2017/09/15 09:00:00 差分時間: 0 納車してから0時間が経ちましたので料金は0となります。 となってしまうんです。いろいろやってみたんですがなかなか上手く行かなくて・・・。どなたかご教授願えませんしょうか。
↧