Java 格式毫秒转 uu:mm:ss

发布于 2024-10-16 00:00:58 字数 376 浏览 4 评论 0原文

我遇到以下问题,但尚未找到最佳解决方案。 假设我有一个具有以下值的整数:

int milliseconds = 65111;

我想使用 printf() 函数将其打印到流中。有没有办法可以执行以下操作:

printf("Time: %uu:mm:ssT", milliseconds");

所以它将返回:

Time: 00:01:05< /code>

这里我刚刚编写了 %uu:mm:ssT 部分,但是有没有办法做到这一点

另外,你知道我可以找到所有格式选项的网站吗,这样我接下来就可以自己查找了。时间。

I have the following problem and I couldn't find the best solution for it yet.
Lets say I have an integer with the following value:

int miliseconds = 65111;

I want to print it to an stream using the printf() function. Is there a way I can do the following:

printf("Time: %uu:mm:ssT", miliseconds");

so it will return:

Time: 00:01:05

Here I just made up the %uu:mm:ssT part, but is there a way to do this.

Also, do you know a website where I can find all the formatting options, so I can look it up myself next time.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

笨死的猪 2024-10-23 00:00:58

使用

final int miliseconds = 65111;
System.out.printf("%1$TM:%1$TS.%1$TL\n", (long) miliseconds);

并查看格式化字符串语法细节。

Use

final int miliseconds = 65111;
System.out.printf("%1$TM:%1$TS.%1$TL\n", (long) miliseconds);

and see Format String Syntax for details.

街道布景 2024-10-23 00:00:58

查看 SimpleDateFormat 功能。

考虑以下示例

String inputPattern = .... 
String outputPattern = ....
String ms = ((Integer) milliseconds).toString();
DateFormat inFormat = new SimpleDateFormat(inputPattern);
DateFormat outFormat = new SimpleDateFormat(outputPattern);

// Parse input
Date date = inFormat.parse(ms);

// Format the output
String output = outFormat.format(date);

[编辑] - 更新示例以仅使用 j2se 而不是包含 yodatime。

Have a look at the SimpleDateFormat feature.

Consider the following sample

String inputPattern = .... 
String outputPattern = ....
String ms = ((Integer) milliseconds).toString();
DateFormat inFormat = new SimpleDateFormat(inputPattern);
DateFormat outFormat = new SimpleDateFormat(outputPattern);

// Parse input
Date date = inFormat.parse(ms);

// Format the output
String output = outFormat.format(date);

[Edit] - Updated sample to only use j2se instead of including yodatime.

安稳善良 2024-10-23 00:00:58

如果您使用 SimpleDateFormat 从新日期(毫秒)格式化时间,请不要忘记 SimpleDateFormat 是时区敏感的。因此,在使用之前将其设置为 UTC,如下所示:(

DateFormat outFormat = new SimpleDateFormat("HH:mm:ss");
outFormat.setTimeZone(TimeZone.getTimeZone("UTC"));

Date d = new Date(milliseconds);
String result = outFormat.format(d);

我在程序中使用类似的代码让 JSpinner 输入毫秒时间值。)

If you use the SimpleDateFormat to format a time from new Date(milliseconds), don't forget that SimpleDateFormat is time zone sensitive. So set it to UTC before using, like this:

DateFormat outFormat = new SimpleDateFormat("HH:mm:ss");
outFormat.setTimeZone(TimeZone.getTimeZone("UTC"));

Date d = new Date(milliseconds);
String result = outFormat.format(d);

(I'm using a similar code in my program for a JSpinner to input a millisecond time value.)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文