Java变量到时间字符串的转换

Java变量到时间字符串的转换,java,time,Java,Time,如果我有3个变量h、m、s,其中包含值12、15、00,那么如何将这些变量转换为时间字符串 inth=12;int m=15;int s=00;进入HH:mm:ss 这取决于你想要完成什么。如果是屏幕上的秒表,简单的h+:“+m+”:“+s可能足以满足您的目的 如果您希望数字总是填充到两位数,可能是String。格式(“%02d:%02d:%02d”,h,m,s)是您需要的 如果您正试图跟踪世界上的某些实时数据,正如MC Emperon指出的那样,使用标准库的Date API更合适。首先您需要准

如果我有3个变量h、m、s,其中包含值12、15、00,那么如何将这些变量转换为时间字符串

inth=12;int m=15;int s=00;进入HH:mm:ss

这取决于你想要完成什么。如果是屏幕上的秒表,简单的
h+:“+m+”:“+s可能足以满足您的目的

如果您希望数字总是填充到两位数,可能是
String。格式(“%02d:%02d:%02d”,h,m,s)
是您需要的


如果您正试图跟踪世界上的某些实时数据,正如MC Emperon指出的那样,使用标准库的Date API更合适。

首先您需要准备字符串DateTime:

String localTimeStr = h + ":" + m + ":" + s;
然后将其与LocalTime一起使用:

LocalTime localTimeFromStr = LocalTime.parse(localTimeStr);

你有几个选择。第一:

String tm = String.format("%02d:%02d:%02d", h, m, s);
结果字符串将与您想要的字符串类似,0个填充值之间用“:”分隔

您还可以创建一个表示时间的“LocalTime”对象

LocalTime tm = LocalTime.of(h, m, s);
现在,这代表了一个时间,你可以这样告诉我们。您还可以将其格式化为字符串

String rep = tm.format(DateTimeFormatter.ISO_LOCAL_TIME);
比如说

LocalTime lt = LocalTime.of(12, 3, 0);
System.out.println(lt.format(DateTimeFormatter.ISO_LOCAL_TIME));
12:03:00


什么是“时间字符串”?这三个变量是什么样子的?
java.time.LocalDate
@mcepender类似的东西@马特:是的,没错。(我说的是
LocalDate
,当然意思是
LocalTime
)请回答您的问题,并发布一个您希望获得的示例“时间字符串”。还有,顺便问一下,你有没有坐过飞机?你参观过这个博物馆吗?你读过这篇文章吗:顺便说一句,在你参观并访问帮助中心后,你会得到一个铜牌。我不想要本地计算机时间,我有用户给定的变量,h,m,s,其中包含一些值,我想做“HH:mm:ss”格式化,我想添加另一个时间字符串。@Joydepdan这不是LocalTime。@Joydepdan:请使用网站的upvote和accept机制,不客气。:)