本文介绍了GPS时间(以毫秒为单位)为UTC格式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
是否有直接方法可以将1980年1月6日开始的特定秒数转换为YYYY / MM / DD HH:mm:ss之类的UTC格式?
Is there any direct way of converting a certain amount of seconds starting on January 6th 1980 to an UTC format like 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(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);
}
推荐答案
类似于:
- 构造一个
Date
对象(通过Calendar
)作为06.01.1980 00:00:00
日期 - 调用
getTime()
获取自EPOCH以来的毫秒数 - 在其中添加毫秒数
- 构造一个新的
Date
具有该毫秒值的对象。 - 根据需要对其进行格式化(例如,
SimpleDateFormatter
)
- Construct a
Date
object (viaCalendar
) for the06.01.1980 00:00:00
date - call
getTime()
to get the milliseconds since EPOCH - Add your milliseconds to that
- Construct a new
Date
object with that milliseconds value. - Format it however you want (
SimpleDateFormatter
for example)
这篇关于GPS时间(以毫秒为单位)为UTC格式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!