【蓝桥杯】时间显示(省赛)Java
创始人
2024-05-12 00:05:04
0

问题描述

        小蓝要和朋友合作开发一个时间显示的网站。在服务器上,朋友已经获取了当前的时间,用一个整数表示,值为从1970年1月1日O0:00:00到当前时刻经过的毫秒数。

        现在,小蓝要在客户端显示出这个时间。小蓝不用显示出年月日,只需要显示出时分秒即可,毫秒也不用显示,直接舍去即可。

        给定一个用整数表示的时间,请将这个时间对应的时分秒输出。

输入格式

        输入一行包含一个整数,表示时间。

输出格式

        输出时分秒表示的当前时间,格式形如HH:MM:SS,其中HH表示时,值为0到23,MM表示分,值为0到59,SS表示秒,值为0到59。时、分、秒不足两位时补前导0。

样例输入1

        46800999

样例输出1

        13:00:00

样例输入2

        1618708103123

样例输出2

        01:08:23

评测用例规模与约定

思路与分析

        该题有两种方法可解:1. 使用Java自带的API进行计算、2. 通过计算毫秒数,将范围确定为一天内,并按照题意忽略毫秒位,计算出其所代表的时间。

         总体来说此题还是较为简单的,方法一主要体现在对Date类及其实例化、时间的输出格式等方面。

        而方法二则较为考察逻辑能力,如何获取到正确的数据范围、如何进行不足位补0的操作,能够有一个明确的思路的话,写代码还是很轻松的。

        来吧,展示!

代码:API

import java.util.Scanner;
import java.sql.Date;
import java.text.SimpleDateFormat;public class Main{public static void main(String[] args){Scanner sc = new Scanner(System.in);long time = sc.nextLong();//减8小时是因为Date以1970-01-01 08:00:00开始,比题目中要求的时间早8个小时time -= 8 * 60 * 60 * 1000;//格式化输出System.out.println(new SimpleDateFormat("HH:mm:ss").format(new Date(time)));}
}

代码:计算

import java.util.Scanner;public class Main{public static void main(String[] args){Scanner sc = new Scanner(System.in);long time = sc.nextLong();//分别计算“当天”的时、分、秒long HH = time / 1000 / 60 / 60 % 24;long MM = time / 1000 / 60 % 60;long SS = time / 1000 % 60;//通过可变字符串完成题意的不足位补0要求StringBuilder sBuilder = new StringBuilder();if(HH < 10){sBuilder.append("0"+HH+":");} else {sBuilder.append(""+HH+":");}if(MM < 10){sBuilder.append("0"+MM+":");} else {sBuilder.append(""+MM+":");}if(SS < 10){sBuilder.append("0"+SS);} else {sBuilder.append(""+SS);}String str = sBuilder.toString();System.out.println(str);}
}

总结

        此题还是比较简单的一道题,对思路的要求较低,主要的考察还是面向编程基础。对于API方法不够熟练的朋友也可以使用“暴力”法解出该题。

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
【PdgCntEditor】解... 一、问题背景 大部分的图书对应的PDF,目录中的页码并非PDF中直接索引的页码...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
修复 爱普生 EPSON L4... L4151 L4153 L4156 L4158 L4163 L4165 L4166 L4168 L4...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...