我有时间戳值,以纳秒为单位,例如,1126732882247990。我正在尝试转换为标准的utc格式但我无法转换它,因为MATLAB中标准utc转换的大多数函数都限制为微秒值。
有人可以帮我弄清楚MATLAB中的转换。
答案 0 :(得分:1)
首先,你似乎没有纳秒时间。
日期1126732882247990可以按如下方式分解:
1126732882247990微秒
1126732882247毫秒
1126732882秒。
所以,如果你需要一个毫秒精度,这很简单:
// keep only the milliseconds
long date = Long.parseLong("1126732882247990".substring(0,13));
2005-09-14 23:21:22.247
// then apply whatever conversion you want
DateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss.SSS");
df.setTimeZone(TimeZone.getTimeZone("France"));
2005-09-14 09:21:22.247
如果只显示它,你也可以添加微秒:
String timeStamp = df.format(dateObj).concat(".").concat("1126732882247990".substring(13,16));
2005-09-14 09:21:22.247.990