蓝桥杯—时间显示—Java

1、问题描述

2、输入输出格式

 3、使用Java中的API完成

import java.sql.Date;
import java.text.SimpleDateFormat;
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		long time = scanner.nextLong();
		//这里剪去8个小时的时间是因为这里的Date是以1970-01-01 08:00:00开始的
		//比题目中要求的时间早8个小时,所以要剪去。下面这行代码可以验证
		//System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date(0)));
		time -= 8 * 60 * 60 * 1000;
		//格式化输出
		System.out.println(new SimpleDateFormat("HH:mm:ss").format(new Date(time)));
	}
}

4、不使用Java中的API完成

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		long time = scanner.nextLong();
		//获取时分秒
		long hours = time / 1000 / 60 / 60 % 24;
		long minutes = time / 1000 / 60 % 60;
		long seconds = time / 1000 % 60;
		//按照输出格式完成输出
		if(hours < 10) {
			System.out.print("0" + hours + ":");
		}else {
			System.out.print(hours + ":");
		}
		if(minutes < 10) {
			System.out.print("0" + minutes + ":");
		}else {
			System.out.print(minutes + ":");
		}
		if(seconds < 10) {
			System.out.print("0" + seconds);
		}else {
			System.out.print(seconds);
		}
	}
}