如何以毫秒显示毫秒:小时:分钟:秒

这是我目前所拥有的

Seconds = (60 - timeInMilliSeconds / 1000 % 60); Minutes = (60 - ((timeInMilliSeconds / 1000) / 60) %60); 

我觉得是正确的。 几个小时和几天应该像 –

 Hours = ((((timeInMilliSeconds / 1000) / 60) / 60) % 24); Days = ((((timeInMilliSeconds / 1000) / 60) / 60) / 24) % 24; 

接着-

 TextView.SetText("Time left:" + Days + ":" + Hours + ":" + Minutes + ":" + Seconds); 

但我的时间和日子出来是不正确的

Solutions Collecting From Web of "如何以毫秒显示毫秒:小时:分钟:秒"

计算时间的一个简单的方法是使用类似的东西

 long seconds = timeInMilliSeconds / 1000; long minutes = seconds / 60; long hours = minutes / 60; long days = hours / 24; String time = days + ":" + hours % 24 + ":" + minutes % 60 + ":" + seconds % 60; 

如果你有超过28天,这将工作,但如果你有一个负面的时间,这将工作。

SimpleDateFormat是你的朋友! (我今天才发现,真棒。)

 SimpleDateFormat formatter = new SimpleDateFormat("dd:HH:mm:ss", Locale.UK); Date date = new Date(timeInMilliSeconds); String result = formatter.format(date); 

要在android中格式化elapsed /剩余时间,请使用android.text.format.DateUtils ,特别是getRelativeTimeSpanStringformatElapsedTime

您也可以使用joda-time API( http://joda.org/joda-time/

“类DateTimeFormat提供了一种支持Pattern(模式格式)的Pattern(String)的方法,这些”基于模式“的格式化程序提供了类似于SimpleDateFormat的方法。

 LocalDate date = LocalDate.now(); DateTimeFormatter fmt = DateTimeFormat.forPattern("d MMMM, yyyy"); String str = date.toString(fmt);