※ ChatGPTを利用し、要約された質問です(原文:javaのプログラムの質問です)
Javaプログラムで時差を計算する方法
このQ&Aのポイント
Javaプログラムで2つの時間の時差を計算して結果を出力する方法について教えてください。
現在のプログラムでは正しく時差を計算できていません。
修正して時差を正しく計算し、料金を出力するようにするにはどうすればいいでしょうか。
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となります。
となってしまうんです。いろいろやってみたんですがなかなか上手く行かなくて・・・。どなたかご教授願えませんしょうか。
お礼
あーーーなるほど!ありがとうございます!!