欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

微信和qq時間格式模板實例詳解

 更新時間:2016年10月21日 16:01:25   投稿:lqh  
這篇文章主要介紹了微信和qq時間格式模板實例詳解的相關(guān)資料,需要的朋友可以參考下

        直接上代碼,代碼中有注釋,大家好好看!

/**
   * 將一個時間戳轉(zhuǎn)換成提示性時間字符串,如
   * 2分鐘內(nèi) 無顯示
   * 2分鐘-24小時 HH:mm
   * 昨天 昨天 HH:mm
   * 前天 前天 HH:mm
   * 一年內(nèi) MM:DD HH:mm
   * 去年 去年 MM:DD HH:mm
   * 前年 前年 MM:DD HH:mm
   * 更遠 yyyy:MM:DD HH:mm
   * 毫秒計算
   * @param charttime
   * @return
   */
  public static String convertChatDetailTimeFormat(long charttime) {
 
    long curTime = System.currentTimeMillis() ;
    long time = curTime - charttime;
 
    XCApplication.base_log.i(XCConfig.TAG_SYSTEM_OUT, time + "---時間差" + time/ 1000/ 60 + "分鐘");
    XCApplication.base_log.i(XCConfig.TAG_SYSTEM_OUT, curTime + "---當(dāng)前時間" + format(new Date(curTime), FORMAT_LONG_CN_1));
    XCApplication.base_log.i(XCConfig.TAG_SYSTEM_OUT, charttime + "---chartTime" + format(new Date(charttime), FORMAT_LONG_CN_1));
 
    if (time < 120 * 1000 && time >= 0) {
      return "剛剛";
    } else if (time >= 120 *1000 && time < 3600 * 24 * 1000) {
 
      return format(new Date(charttime), FORMAT_HH_MM);
 
    } else if (time >= 3600 * 24 * 1 * 1000 && time < 3600 * 24 * 2 * 1000) {
 
      return "昨天" + format(new Date(charttime), FORMAT_HH_MM);
 
    } else if (time >= 3600 * 24 * 2 * 1000 && time < 3600 * 24 * 3 * 1000) {
 
      return "前天" + format(new Date(charttime), FORMAT_HH_MM);
    } else if (time >= 3600 * 24 * 3 * 1000 && time < 3600 * 24 * 365 * 1 * 1000) {
 
      return format(new Date(charttime), FORMAT_MM_DD_HH_MM);
    } else if (time >= 3600 * 24 * 365 * 1 * 1000 && time < 3600 * 24 * 365 * 2 * 1000) {
 
      return "去年" + format(new Date(charttime), FORMAT_MM_DD_HH_MM);
    } else if (time >= 3600 * 24 * 365 * 2 * 1000 && time < 3600 * 24 * 365 * 3 * 1000) {
 
      return "前年" + format(new Date(charttime), FORMAT_MM_DD_HH_MM);
    } else if (time >= 3600 * 24 * 365 * 3 * 1000) {
 
      return format(new Date(charttime), FORMAT_LONG_CN_1);
    } else {
      return "剛剛";
    }
  }

     這里就有一個小問題,就是自然日時間跨越實際日時間,有可能出現(xiàn)昨天的時間不顯示昨天,而顯示為HH:mm,于是測試找上門來,要求改,將2分鐘-24小時的條件改為2分鐘-今日內(nèi)。

     那么這里的需求就改為

     * 2分鐘內(nèi) 無顯示
     * 2分鐘-今日 HH:mm
     * 昨天 昨天 HH:mm
     * 前天 前天 HH:mm
     * 今年 MM:DD HH:mm
     * 去年 去年 MM:DD HH:mm
     * 前年 前年 MM:DD HH:mm
     * 更遠 yyyy:MM:DD HH:mm  

  這也不是多大的問題,問題是在跨年的情況該如何,2015-01-01 00:01.001 的前三分鐘接受的消息,也就是2014-12-31 該顯示為昨天還是去年。如果信息的接收時間比時間還要大,該如何顯示。

經(jīng)過一番撕逼,終于敲定,這里為了產(chǎn)品再次修改,要求產(chǎn)品立字據(jù)啊,作為終極版本存在。

/**
   * 終極方法
   * 將一個時間戳轉(zhuǎn)換成提示性時間字符串,如
   * 2分鐘內(nèi) 無顯示
   * 2分鐘-今天 2分鐘-今天 HH:mm
   * 昨天 昨天 HH:mm
   * 前天 前天 HH:mm
   * 今年 MM:DD HH:mm
   * 去年 去年 MM:DD HH:mm
   * 前年 前年 MM:DD HH:mm
   * 更遠 yyyy:MM:DD HH:mm
   * 毫秒計算
   * @param time
   * @return
   */
  public static String convertWEChartTimeFormatFinalMethed(long time) {
    long curTime = System.currentTimeMillis() ;
    String showTimeFormat = "";
 
    long temp = curTime - time;
    if (temp < 120 * 1000 && temp >= 0) {
      showTimeFormat = "";
      return showTimeFormat;
    }
    Date mayTime = new Date(time);
 
//    Date today = UtilDate.parse("2015-01-01 02:02:02.001", UtilDate.FORMAT_FULL);
    Date today = new Date();
    //時間值
    String mayTime_FORMAT_SHORT = format(mayTime, FORMAT_SHORT);
    String mayTime_FORMAT_SHORT_YEAR = getYear(mayTime);
 
    if(mayTime.after(today)){
      //除此以外
      showTimeFormat = format(mayTime, FORMAT_LONG_CN_1);
 
    } else {
      if(mayTime_FORMAT_SHORT != null && !mayTime_FORMAT_SHORT.trim().toString().equals("")){
        //今天的時間yyyy-MM-dd
        String today_str = format(today, FORMAT_SHORT);
        String thisYear_str = getYear(today);
 
        //昨天的時間 yyyy-MM-dd
        Calendar calLastDay = Calendar.getInstance();
        calLastDay.setTime(today);
        calLastDay.add(Calendar.DAY_OF_YEAR, -1);
        System.out.println("昨天:" + format(calLastDay.getTime(), FORMAT_SHORT));
        String lastDay = format(calLastDay.getTime(), FORMAT_SHORT);
 
        //前天的時間 yyyy-MM-dd
        Calendar calPreviousDay = Calendar.getInstance();
        calPreviousDay.setTime(today);
        calPreviousDay.add(Calendar.DAY_OF_YEAR, -2);
        System.out.println("前天:" + format(calPreviousDay.getTime(), FORMAT_SHORT));
        String previousDay = format(calPreviousDay.getTime(), FORMAT_SHORT);
 
        //去年的時間 yyyy
        Calendar calLastYear = Calendar.getInstance();
        calLastYear.setTime(today);
        calLastYear.add(Calendar.YEAR, -1);
        String lastYear = getYear(calLastYear.getTime());
        System.out.println("去年:" + format(calLastYear.getTime(), FORMAT_SHORT));
 
        //前年的時間 yyyy
        Calendar calPreviousYear = Calendar.getInstance();
        calPreviousYear.setTime(today);
        calPreviousYear.add(Calendar.YEAR, -2);
        String previousYear = getYear(calPreviousYear.getTime());
        System.out.println("前年:" + format(calPreviousYear.getTime(), FORMAT_SHORT));
 
        //首先判斷是否是今天
        if(mayTime_FORMAT_SHORT.equals(today_str)){
          //今天,則顯示為 13:12
          showTimeFormat = format(mayTime, FORMAT_HH_MM);
        } else if(mayTime_FORMAT_SHORT.equals(lastDay)){
          //昨天
          showTimeFormat = "昨天 " + format(mayTime,FORMAT_HH_MM);
 
        } else if(mayTime_FORMAT_SHORT.equals(previousDay)){
          //昨天
          showTimeFormat = "前天 " + format(mayTime,FORMAT_HH_MM);
 
        } else if(mayTime_FORMAT_SHORT_YEAR.equals(thisYear_str)){
          //今年
          showTimeFormat = format(mayTime, FORMAT_MM_DD_HH_MM);
        } else if(mayTime_FORMAT_SHORT_YEAR.equals(lastYear)){
          //去年
          showTimeFormat = "去年 " + format(mayTime, FORMAT_MM_DD_HH_MM);
        } else if(mayTime_FORMAT_SHORT_YEAR.equals(previousYear)){
          //前年
          showTimeFormat = "前年 " + format(mayTime, FORMAT_MM_DD_HH_MM);
        } else {
          //除此以外
          showTimeFormat = format(mayTime, FORMAT_LONG_CN_1);
        }
 
      }
    }
 
 
    return showTimeFormat;
  }

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關(guān)文章

最新評論