Java GPS时间(毫秒到UTC格式)
有没有直接的方法将1980年1月6日开始的一定数量的秒转换为UTC格式,如YYYY/MM/DD HH:MM:ss 编辑:以下是工作代码:Java GPS时间(毫秒到UTC格式),java,swing,date,Java,Swing,Date,有没有直接的方法将1980年1月6日开始的一定数量的秒转换为UTC格式,如YYYY/MM/DD HH:MM:ss 编辑:以下是工作代码: private Date gpsInit; //... try{ String ds = "06/01/1980"; DateFormat df = new SimpleDateFormat("dd/MM/yyyy"); gpsInit = df.parse(ds); } catch(ParseE
private Date gpsInit;
//...
try{
String ds = "06/01/1980";
DateFormat df = new SimpleDateFormat("dd/MM/yyyy");
gpsInit = df.parse(ds);
}
catch(ParseException e) {
System.out.println("Unable to parse January 6th 1980");
}
textField = new JFormattedTextField(format);
textField.setText(formatUTC(min));
//...
private String formatUTC(int timeValue) {
long diference = timeValue + gpsInit.getTime()/1000;
String pattern = "yyyy/MM/dd HH:mm:ss";
SimpleDateFormat utcFormat = new SimpleDateFormat(pattern);
Date utcNow = new Date(diference*1000);
return utcFormat.format(utcNow);
}
比如:
06.01.1980 00:00:00
日期构建Date
对象(通过Calendar
)getTime()
以获取自EPOCH以来的毫秒数Date
对象SimpleDataFormatter
)06.01.1980 00:00:00
日期构建Date
对象(通过Calendar
)getTime()
以获取自EPOCH以来的毫秒数Date
对象SimpleDataFormatter
)闰秒可能有问题。类似的问题:。这里的“分钟”是什么?闰秒可能有问题。类似的问题:。这里的“分钟”是什么?但是。。。如果我从1980年1月6日算起秒数,再加上1070年1月1日算起的秒数,我大概在2050年。不?Romandgz,呃-我不太明白你的问题。EPOCH是01.01.1970,如果你得到1980年01月06日到EPOCH的毫秒数,并加上1980年01月06日起的毫秒数,你就可以用1970年01月01日起的毫秒数构造一个
日期对象。@Romandgz,我看到你改变了你的问题-它不会改变太多,在适当的地方除以1000。好的,我现在明白了。对不起,我还想睡。我会试试的但是。。。如果我从1980年1月6日算起秒数,再加上1070年1月1日算起的秒数,我大概在2050年。不?Romandgz,呃-我不太明白你的问题。EPOCH是01.01.1970,如果你得到1980年01月06日到EPOCH的毫秒数,并加上1980年01月06日起的毫秒数,你就可以用1970年01月01日起的毫秒数构造一个日期对象。@Romandgz,我看到你改变了你的问题-它不会改变太多,在适当的地方除以1000。好的,我现在明白了。对不起,我还想睡。我试试看