Java中時間間隔的計算(以前的時間與現在的時間間隔,類似於新浪微博顯示發表時間的方式)

來源:互聯網
上載者:User
import java.text.ParsePosition;import java.text.SimpleDateFormat;import java.util.Date;public class IntervalUtil {public String getInterval(String createtime) { //傳入的時間格式必須類似於2012-8-21 17:53:20這樣的格式String interval = null;SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");ParsePosition pos = new ParsePosition(0);Date d1 = (Date) sd.parse(createtime, pos);//用現在距離1970年的時間間隔new Date().getTime()減去以前的時間距離1970年的時間間隔d1.getTime()得出的就是以前的時間與現在時間的時間間隔long time = new Date().getTime() - d1.getTime();// 得出的時間間隔是毫秒if(time/1000 < 10 && time/1000 >= 0) {//如果時間間隔小於10秒則顯示“剛剛”time/10得出的時間間隔的單位是秒interval ="剛剛";} else if(time/3600000 < 24 && time/3600000 >= 0) {//如果時間間隔小於24小時則顯示多少小時前int h = (int) (time/3600000);//得出的時間間隔的單位是小時interval = h + "小時前";} else if(time/60000 < 60 && time/60000 > 0) {//如果時間間隔小於60分鐘則顯示多少分鐘前int m = (int) ((time%3600000)/60000);//得出的時間間隔的單位是分鐘interval = m + "分鐘前";} else if(time/1000 < 60 && time/1000 > 0) {//如果時間間隔小於60秒則顯示多少秒前int se = (int) ((time%60000)/1000);interval = se + "秒前";}else {//大於24小時,則顯示正常的時間,但是不顯示秒SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");ParsePosition pos2 = new ParsePosition(0);Date d2 = (Date) sdf.parse(createtime, pos2);interval = sdf.format(d2);}return interval;}}

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.