2013-07-03 78 views
0

我有納秒時間戳值,例如1126732882247990.我試圖轉換爲標準的utc格式,但我無法將它轉換爲標準utc的大部分函數MATLAB中的轉換僅限於微秒值。在matlab中轉換爲unix時間格式

你們有人能幫我弄清楚MATLAB中的轉換嗎?

+1

爲什麼使用UTC格式並保持納秒分辨率如此重要?爲什麼不把它分成兩個變量,一個是整數秒( - > UTC),另一個是剩下的納秒級數? – 2013-07-03 20:18:38

+0

對不起Robocop,請你澄清一下你的觀點。我沒有得到它 – RockStar

回答

1

首先,你似乎沒有相信的納秒。

1126732882247990微秒

1126732882247毫秒

1126732882秒:

日期1126732882247990可以如下分解。

所以,如果你需要一個毫秒的精度是相當簡單:

// 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

+0

謝謝斯科爾,爲您的答覆。我從我的Android選項卡中記錄了這些值,但我想從matlab腳本將它轉換爲UTC。你得到的價值(2005-09-14 23:21:22.247)是沒有的 - 在這裏有說服力。我在2014年5月記錄了這些數據,所以這個結果並不是我所期望的。 – RockStar

+0

您*於2014年5月*記錄此數據的評論*也不是很有說服力。 –

+0

@ RockStar:1126732882247990以毫秒爲單位,1126732882247以微秒爲單位,1126732882以毫秒爲單位。只需使用一個時間戳轉換器,你可以在網上找到一個正確的輸入(mili,micro,nano),並看看你得到了什麼。 – skoll

相關問題