public static String format(long ms) {
//将毫秒数换算成x天x时x分x秒x毫秒
int ss = 1000
int mi = ss * 60
int hh = mi * 60
int dd = hh * 24
long day = ms / dd
long hour = (ms - day * dd) / hh
long minute = (ms - day * dd - hour * hh) / mi
long second = (ms - day * dd - hour * hh - minute * mi) / ss
long milliSecond = ms - day * dd - hour * hh - minute * mi - second * ss
String strDay = day <10 ? "0" + day : "" + day
String strHour = hour <10 ? "0" + hour : "" + hour
String strMinute = minute <10 ? "0" + minute : "" + minute
String strSecond = second <10 ? "0" + second : "" + second
String strMilliSecond = milliSecond <10 ? "0" + milliSecond : "" + milliSecond
strMilliSecond = milliSecond <100 ? "0" + strMilliSecond : "" + strMilliSecond
return strDay + " " + strHour + ":" + strMinute + ":" + strSecond + " " + strMilliSecond
}
通过此方法可以将毫秒转换成 天:时:分:秒
也可以对此方法进行稍微的修改就可以转换成其他格式。
分类: 电脑/网络 >>程序设计 >>其他编程语言问题描述:
得到一个毫秒时间,是1970年1月1日0:00至今的毫秒时间,怎么转换成通常格式?
解析:
import java.util.*
import java.text.SimpleDateFormat
public class test
{
public static void main (String args[])
{
Date d = new Date()
long longtime = d.getTime()
System.out.println(longtime)
你获得的是上面的long型数据吧
String time = d.toLocaleString()
你可以简单的得到本地化时间,本来就是String类型的就不用转换了
System.out.println(time)
也可以自己用SimpleDateFormat这个函数把它变成自己想要的格式,注意需要import java.text.SimpleDateFormat
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss")
System.out.println(sdf.format(longtime))
}
}
public class Test {
private static final int SECOND_PER_HOUR = 60 * 60
private static final int SECOND_PER_MINUTE = 60
public static void main(String[] args) {
long second = new Scanner(System.in).nextLong()
long hour = second / SECOND_PER_HOUR
second -= SECOND_PER_HOUR * hour
int minute = (int) (second / SECOND_PER_MINUTE)
second -= SECOND_PER_MINUTE * minute
System.out.println(String.format("%d小时%d分钟%d秒", hour, minute, second))
}
}