我想00:00:00讓今天的UNIX時間戳(自01/01/1970秒鐘以後)與Java的日曆:獲得今天的UNIX時間戳和日曆
public long getTodayTimestamp() {
Calendar c = Calendar.getInstance(Locale.getDefault());
c.setTimeInMillis(System.currentTimeMillis());
c.set( c.get(Calendar.YEAR),
c.get(Calendar.MONTH),
c.get(Calendar.DAY_OF_MONTH),
0, 0, 0
);
return c.getTimeInMillis()/1000;
}
問題是,它返回1409608800今天(9月1日),但當我嘗試用一些轉換器(例如http://www.onlineconversion.com/unix_time.htm)轉換它時,我得到Mon, 01 Sep 2014 22:00:00 GMT
這是當地時間9月2日午夜。基本上這個方法會在我需要的時間24小時前返回時間戳。
我在哪裏搞砸了?
由於「問題」?爲什麼不能只使用'Date'或'System'? – chrylis 2014-09-01 21:56:35
由於問題,我需要半個小時才能解釋。編輯:哎呀,對不起,那個部分是從問題有更廣泛的焦點時留下。當然,我可以使用日期或任何方法,但如何?在這種情況下爲什麼它比Calendar更好? – TimSim 2014-09-01 21:57:30
您可以設置時區? (http://docs.oracle.com/javase/7/docs/api/java/util/Calendar.html#getInstance%28java.util.TimeZone,%20java.util.Locale%29) – Tom 2014-09-01 22:00:16