Javaプログラミング学習サイト ゆるゆるプログラミング

2020/04/22 公開

・時間の単位変換

ここでは、いくつかの時間の単位を変換するクラスを作成しました。

このクラスでは、日、時、分、秒、ミリ秒の単位変換を行うことができます。

以下は、それぞれの時間の単位の関係を示したものです。

  1日 = 24時間 = 1440分

  1時間 = 60分 = 3600秒

  1分 = 60秒 = 60000ミリ秒

  1秒 = 1000ミリ秒

この関係をJavaソースコードにしました。

TimeConverter.java ← クリックしてダウンロードページに移動
001:    // 時間の単位の変換
002:    class ConvertingTimeUnits {
003:    	// 日(day)を時間(hour)に変換
004:    	static double day_to_hour( double day )
005:    	{
006:    		// 日に24を掛ける
007:    		return day * 24.0;
008:    	}
009:    
010:    	// 時間(hour)を日(day)に変換
011:    	static double hour_to_day( double hour )
012:    	{
013:    		// 時間を24で割る
014:    		return hour / 24.0;
015:    	}
016:    
017:    	// 時間(hour)を分(minute)に変換
018:    	static double hour_to_minute( double hour )
019:    	{
020:    		// 時間に60を掛ける
021:    		return hour * 60.0;
022:    	}
023:    
024:    	// 分(minute)を時間(hour)に変換
025:    	static double minute_to_hour( double minute )
026:    	{
027:    		// 分を60で割る
028:    		return minute / 60.0;
029:    	}
030:    
031:    	// 分(minute)を秒(second)に変換
032:    	static double minute_to_second( double minute )
033:    	{
034:    		// 分に60を掛ける
035:    		return minute * 60.0;
036:    	}
037:    
038:    	// 秒(second)を分(minute)に変換
039:    	static double second_to_minute( double second )
040:    	{
041:    		// 秒を60で割る
042:    		return second / 60.0;
043:    	}
044:    
045:    	// 秒(second)をミリ秒(msecond)に変換
046:    	static double second_to_msecond( double second )
047:    	{
048:    		// 秒に1000を掛ける
049:    		return second * 1000.0;
050:    	}
051:    
052:    	// ミリ秒(msecond)を秒(second)に変換
053:    	static double msecond_to_second( double msecond )
054:    	{
055:    		// 秒を1000で割る
056:    		return msecond / 1000.0;
057:    	}
058:    }
059:    
060:    
061:    // メイン
062:    public class TimeConverter {
063:    	public static void main( String[] args ) {
064:    		double day;	// 日
065:    		double hour;	// 時
066:    		double minute;	// 分
067:    		double second;	// 秒
068:    		double msecond;	// ミリ秒
069:    
070:    		// 1日 → 時間
071:    		hour = ConvertingTimeUnits.day_to_hour( 1.0 );
072:    		System.out.println( "1日は、" + hour + "時間" );
073:    
074:    		// 1時間 → 分
075:    		minute = ConvertingTimeUnits.hour_to_minute( 1.0 );
076:    		System.out.println( "1時間は、" + minute + "分" );
077:    
078:    		// 1分 → 秒
079:    		second = ConvertingTimeUnits.minute_to_second( 1.0 );
080:    		System.out.println( "1分は、" + second + "秒" );
081:    
082:    		// 1秒 → ミリ秒
083:    		msecond = ConvertingTimeUnits.second_to_msecond( 1.0 );
084:    		System.out.println( "1秒は、" + msecond + "ミリ秒" );
085:    
086:    		// 改行
087:    		System.out.println();
088:    
089:    		// 24時間 → 日
090:    		day = ConvertingTimeUnits.hour_to_day( 24.0 );
091:    		System.out.println( "24時間は、" + day + "日" );
092:    
093:    		// 60分 → 時間
094:    		hour = ConvertingTimeUnits.minute_to_hour( 60.0 );
095:    		System.out.println( "60分は、" + hour + "時間" );
096:    
097:    		// 60秒 → 分
098:    		minute = ConvertingTimeUnits.second_to_minute( 60.0 );
099:    		System.out.println( "60秒は、" + minute + "分" );
100:    
101:    		// 1000ミリ秒 → 秒
102:    		second = ConvertingTimeUnits.msecond_to_second( 1000.0 );
103:    		System.out.println( "1000ミリ秒は、" + second + "秒" );
104:    
105:    		// 改行
106:    		System.out.println();
107:    
108:    		// 1日 → 時間、分、秒、ミリ秒
109:    		hour = ConvertingTimeUnits.day_to_hour( 1.0 );
110:    		minute = ConvertingTimeUnits.hour_to_minute( hour );
111:    		second = ConvertingTimeUnits.minute_to_second( minute );
112:    		msecond = ConvertingTimeUnits.second_to_msecond( second );
113:    		System.out.println( "1日は、" + hour + "時間" );
114:    		System.out.println( "1日は、" + minute + "分" );
115:    		System.out.println( "1日は、" + second + "秒" );
116:    		System.out.println( "1日は、" + msecond + "ミリ秒" );
117:    	}
118:    }

TimeConverter.javaの出力結果

1日は、24.0時間
1時間は、60.0分
1分は、60.0秒
1秒は、1000.0ミリ秒

24時間は、1.0日
60分は、1.0時間
60秒は、1.0分
1000ミリ秒は、1.0秒

1日は、24.0時間
1日は、1440.0分
1日は、86400.0秒
1日は、8.64E7ミリ秒

それでは、単位変換のプログラムのソースコードを解説していきます。

001:    // 時間の単位の変換
002:    class ConvertingTimeUnits {

時間の単位を変換するクラス名を、ConvertingTimeUnitsとしています。

003:    	// 日(day)を時間(hour)に変換
004:    	static double day_to_hour( double day )
005:    	{
006:    		// 日に24を掛ける
007:    		return day * 24.0;
008:    	}
009:    
010:    	// 時間(hour)を日(day)に変換
011:    	static double hour_to_day( double hour )
012:    	{
013:    		// 時間を24で割る
014:    		return hour / 24.0;
015:    	}

日(day)と時間(hour)を相互に変換するメソッドです。

  1日 = 24時間の関係を利用しています。

017:    	// 時間(hour)を分(minute)に変換
018:    	static double hour_to_minute( double hour )
019:    	{
020:    		// 時間に60を掛ける
021:    		return hour * 60.0;
022:    	}
023:    
024:    	// 分(minute)を時間(hour)に変換
025:    	static double minute_to_hour( double minute )
026:    	{
027:    		// 分を60で割る
028:    		return minute / 60.0;
029:    	}

時間(hour)と分(minute)を相互に変換するメソッドです。

  1時間 = 60分の関係を利用しています。

031:    	// 分(minute)を秒(second)に変換
032:    	static double minute_to_second( double minute )
033:    	{
034:    		// 分に60を掛ける
035:    		return minute * 60.0;
036:    	}
037:    
038:    	// 秒(second)を分(minute)に変換
039:    	static double second_to_minute( double second )
040:    	{
041:    		// 秒を60で割る
042:    		return second / 60.0;
043:    	}

分(minute)と秒(second)を相互に変換するメソッドです。

  1分 = 60秒の関係を利用しています。

045:    	// 秒(second)をミリ秒(msecond)に変換
046:    	static double second_to_msecond( double second )
047:    	{
048:    		// 秒に1000を掛ける
049:    		return second * 1000.0;
050:    	}
051:    
052:    	// ミリ秒(msecond)を秒(second)に変換
053:    	static double msecond_to_second( double msecond )
054:    	{
055:    		// 秒を1000で割る
056:    		return msecond / 1000.0;
057:    	}

秒(second)とミリ秒(msecond)を相互に変換するメソッドです。

  1秒 = 1000ミリ秒の関係を利用しています。

ここまでが、時間の単位を変換するクラスConvertingTimeUnitsの説明です。

全ての相互変換をこのクラスに入れるとメソッド数が多くなるので、基本的な変換メソッドを記述しています。

次に、クラスConvertingTimeUnitsを使うソースコードの説明です。

061:    // メイン
062:    public class TimeConverter {
063:    	public static void main( String[] args ) {
064:    		double day;	// 日
065:    		double hour;	// 時
066:    		double minute;	// 分
067:    		double second;	// 秒
068:    		double msecond;	// ミリ秒
069:    
070:    		// 1日 → 時間
071:    		hour = ConvertingTimeUnits.day_to_hour( 1.0 );
072:    		System.out.println( "1日は、" + hour + "時間" );
073:    
074:    		// 1時間 → 分
075:    		minute = ConvertingTimeUnits.hour_to_minute( 1.0 );
076:    		System.out.println( "1時間は、" + minute + "分" );
077:    
078:    		// 1分 → 秒
079:    		second = ConvertingTimeUnits.minute_to_second( 1.0 );
080:    		System.out.println( "1分は、" + second + "秒" );
081:    
082:    		// 1秒 → ミリ秒
083:    		msecond = ConvertingTimeUnits.second_to_msecond( 1.0 );
084:    		System.out.println( "1秒は、" + msecond + "ミリ秒" );
085:    
086:    		// 改行
087:    		System.out.println();
088:    
089:    		// 24時間 → 日
090:    		day = ConvertingTimeUnits.hour_to_day( 24.0 );
091:    		System.out.println( "24時間は、" + day + "日" );
092:    
093:    		// 60分 → 時間
094:    		hour = ConvertingTimeUnits.minute_to_hour( 60.0 );
095:    		System.out.println( "60分は、" + hour + "時間" );
096:    
097:    		// 60秒 → 分
098:    		minute = ConvertingTimeUnits.second_to_minute( 60.0 );
099:    		System.out.println( "60秒は、" + minute + "分" );
100:    
101:    		// 1000ミリ秒 → 秒
102:    		second = ConvertingTimeUnits.msecond_to_second( 1000.0 );
103:    		System.out.println( "1000ミリ秒は、" + second + "秒" );
104:    
105:    		// 改行
106:    		System.out.println();
107:    
108:    		// 1日 → 時間、分、秒、ミリ秒
109:    		hour = ConvertingTimeUnits.day_to_hour( 1.0 );
110:    		minute = ConvertingTimeUnits.hour_to_minute( hour );
111:    		second = ConvertingTimeUnits.minute_to_second( minute );
112:    		msecond = ConvertingTimeUnits.second_to_msecond( second );
113:    		System.out.println( "1日は、" + hour + "時間" );
114:    		System.out.println( "1日は、" + minute + "分" );
115:    		System.out.println( "1日は、" + second + "秒" );
116:    		System.out.println( "1日は、" + msecond + "ミリ秒" );
117:    	}
118:    }

ここでは、各メソッドに値を入れてその結果を表示しています。

変換メソッドstaticであるため、クラスをインスタンス化せずに使用することができます。

■関連コンテンツ

ITで使われる単位 ITで使われる単位を紹介
計算結果の表示 四則演算(足し算/引き算/掛け算/割り算)について
プログラムの構成 Javaのプログラム構成について解説

■新着情報

2022.07.07 外部プログラムの実行 exeファイル実行
2022.07.06 完全数 6=1+2+3

■広告

 

 

 

 

 

スッキリわかるJava入門第3版 [ 中山清喬 ]

価格:2,860円
(2021/6/18 14:32時点)
感想(6件)

 

 

 

 

Topへ