我有以纳秒为单位的时间戳值,例如 1126732882247990。我正在尝试转换为标准 utc 格式,但我无法转换它,因为 MATLAB 中用于标准 utc 转换的大多数函数都仅限于微秒值。
你们有人能帮我弄清楚MATLAB中的转换吗?
我有以纳秒为单位的时间戳值,例如 1126732882247990。我正在尝试转换为标准 utc 格式,但我无法转换它,因为 MATLAB 中用于标准 utc 转换的大多数函数都仅限于微秒值。
你们有人能帮我弄清楚MATLAB中的转换吗?
首先,您似乎没有相信的纳秒。
日期 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