2012-04-24 47 views
0

我一直在android的應用程序,在這裏我必須從時代得到的秒數的數量,直到日期......使用下面的函數通常當獲得秒,直到「日期」只

long timeInSeconds = System.currentTimeMillis()/1000; 

它返回到目前爲止的秒數,包括日期+時間。我實際上想忽略秒的時間部分,並保持秒數,直到日期,這將導致一天的相同時間戳...有無論如何這樣做..?任何幫助表示讚賞。

回答

2
Calendar timeLessCalendar = Calendar.getInstance() 
timeLessCalendar.set(Calendar.HOUR_OF_DAY,0); 
timeLessCalendar.set(Calendar.MINUTE,0); 
timeLessCalendar.set(Calendar.SECOND,0); 
timeLessCalendar.set(Calendar.MILLISECOND,0); 
//now grab the seconds 
long secondTillDate = timeLessCalendar.getTime().getTime()/1000; 
+0

@ JigarJoshi ..感謝您的回覆,我已經用你的技術......這是給我需要的時間上仿真器,但不是在設備...可能是什麼問題.. ???因爲我已經checcked日期和時間他們相應地設置..但仍然在設備上它不是模擬器上的結果...幫助我出來... – 2012-04-24 06:30:51

+0

嘗試設置時區請參閱http://docs.oracle.com/javase/ 1.5.0/docs/api/java/util/Calendar.html#日曆(java.util.TimeZone,java.util.Locale) – 2012-04-24 06:39:53

+0

不編碼本身獲取由用戶設置的區域.. ???? – 2012-04-24 06:58:21

2

你可以使用DateFormat.parse()創建一個字符串的日期,然後將其轉換爲使用Date.getTime()時間戳。

/* something like this */ 

Date thisMorning = DateFormat.parse("04/23/2012 0:00 AM, PDT"); 
long secSinceEpoch = thisMorning.getTime()/1000;