我想要毫秒返回毫秒
但我的代码不起作用!
3.3.0.RELEASE
答案 0 :(得分:4)
您可以使用SimpleDateFormat
,但请注意,您应该适当地设置时区和区域设置:
DateFormat formatter = new SimpleDateFormat("HH:mm:ss", Locale.US);
formatter.setTimeZone(TimeZone.getTimeZone("UTC"));
String text = formatter.format(new Date(millis));
时区部分很重要,否则它将使用系统默认时区,这通常是不合适的。请注意,Date
此处将于1970年1月1日UTC,假设您的毫秒值小于24小时。
答案 1 :(得分:2)
您可以使用
int seconds = (int) (milliseconds / 1000) % 60 ;
int minutes = (int) ((milliseconds / (1000*60)) % 60);
int hours = (int) ((milliseconds / (1000*60*60)) % 24);
答案 2 :(得分:1)
1秒= 1000毫秒......立即尝试 或者如果您尝试检索当前时间,则可以使用Calendar类
Calendar cal = Calendar.getInstance();
String time =""+cal.get(Calendar.HOUR_OF_DAY)+":"+cal.get(Calendar.MINUTE);
答案 3 :(得分:0)
使用TimeUnit代替完成所有数学运算,这样就可以确保这实际上有效,而且更具可读性。
答案 4 :(得分:0)
使用我的代码简单并为我工作
只需调用此函数并输入毫秒
public String settIMER(int time) {
String str = "00:00";
try {
long parseLong = time;
if (parseLong >= 3600000) {
try {
str = String.format(Locale.getDefault(), "%02d:%02d:%02d",
new Object[]{Long.valueOf(TimeUnit.MILLISECONDS.toHours(parseLong)),
Long.valueOf(TimeUnit.MILLISECONDS.toMinutes(parseLong) % TimeUnit.HOURS.toMinutes(1)),
Long.valueOf(TimeUnit.MILLISECONDS.toSeconds(parseLong) % TimeUnit.MINUTES.toSeconds(1))});
} catch (NumberFormatException unused) {
java.lang.System.out.println(parseLong);
}
} else {
str = String.format(Locale.getDefault(), "%02d:%02d",
new Object[]{Long.valueOf(TimeUnit.MILLISECONDS.toMinutes(parseLong) % TimeUnit.HOURS.toMinutes(1)),
Long.valueOf(TimeUnit.MILLISECONDS.toSeconds(parseLong) % TimeUnit.MINUTES.toSeconds(1))});
}
return str;
} catch (Exception e) {
return "00:00";
}
}