我一直在使用Processing 3.0,並且我試圖打印一個簡單的時間戳,當我的Arduino輸出某些值時,但它不起作用。我試圖使用SimpleDateFormat,但它總是返回1970.01.17 17:48:35 GMT
,而不是實際的時間。下面是MVCE:SimpleDateFormat總是返回錯誤的時區1970.01.17
void setup()
{
SimpleDateFormat format = new SimpleDateFormat ("yyyy.MM.dd HH:mm:ss z");
format.setTimeZone (TimeZone.getDefault());
long timestamp = getTimeNow();
println(format.format(new Date(timestamp)));
println(timestamp);
}
long getTimeNow()
{
Date d = new Date();
Calendar cal = new GregorianCalendar();
long current = d.getTime()/1000;
long timezone = cal.get(Calendar.ZONE_OFFSET)/1000;
long daylight = cal.get(Calendar.DST_OFFSET)/1000;
return current + timezone + daylight;
}
輸出例如:
1970.01.17 17:48:35 GMT
1442915733
我懷疑問題是與getTimeNow()
,因爲,如果我插值到在線時代轉換器我得到正確的時間。上述代碼中的問題是什麼?
你能指點我們的格式(長)'文檔嗎? AFAIK這不存在 –
確實,它不存在。應該更徹底地檢查參考。不過,如果我嘗試使用Date構造函數將其轉換爲日期,它仍然會給我一個錯誤的問題。編輯帖子以反映變化。 – MKII