我是一个java初学者,我用下面的代码可以生成一个随机时间 "hh:mm:ss"
格式。我不知道如何调整代码以“hh:mm”格式显示时间,因为我不熟悉日期和时间java库。我在这里查看了一些帖子,比如在java中将时间从hh:mm:ss转换为hh:mm,但在这里没有帮助。
import java.util.Random;
import java.sql.Time;
final Random random = new Random();
final int millisInDay = 24*60*60*1000;
Time time = new Time((long)random.nextInt(millisInDay));
我也尝试过:
// creates random time in hh:mm format for 0-12 hours but I want the full 24 hour timeline
public static String createRandomTime() {
DateFormat format = new SimpleDateFormat("h.mm aa");
String timeString = format.format(new Date()).toString();
return timeString;
}
我会感激你的帮助。
3条答案
按热度按时间9bfwbjaz1#
你可以试试下面的代码,
有一个很棒的javadoc可以解释各种选项的细节。请参考javadochttps://docs.oracle.com/javase/10/docs/api/java/text/simpledateformat.html
r1wp621o2#
您可以编写一个方法,创建适当的随机小时和随机分钟,然后构造一个
java.time.LocalTime
并返回所需的String
陈述。举个例子:
一次执行十次这个方法
main
这样地将产生如下输出(不一定等于)
请注意
int
值及其对应关系LocalTime
如果您只需要另一种格式,则从它们创建的内容不会更改。你可以很容易地切换到另一个模式(可能使模式)String
方法的参数)。e、 你能做到的"hh:mm a"
为了String
就像10:23 AM
.gmxoilav3#
既然你用的是
SimpleDateFormat
,我建议看一下它的文档在那里,你可以看到
h
以am/pm格式表示小时。既然你想要24小时制,你就需要H
或者k
,这取决于您希望它是0-23还是1-24