在matlab中转换为unix时间格式

时间:2013-07-03 20:13:13

标签: matlab

我有时间戳值,以纳秒为单位,例如,1126732882247990。我正在尝试转换为标准的utc格式但我无法转换它,因为MATLAB中标准utc转换的大多数函数都限制为微秒值。

有人可以帮我弄清楚MATLAB中的转换。

1 个答案:

答案 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