0

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

你们有人能帮我弄清楚MATLAB中的转换吗?

4

1 回答 1

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

于 2013-07-03T21:36:18.900 回答