国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > JavaScript > 正文

微信和qq時(shí)間格式模板實(shí)例詳解

2019-11-20 08:41:22
字體:
供稿:網(wǎng)友

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

/**   * 將一個(gè)時(shí)間戳轉(zhuǎn)換成提示性時(shí)間字符串,如   * 2分鐘內(nèi) 無(wú)顯示   * 2分鐘-24小時(shí) HH:mm   * 昨天 昨天 HH:mm   * 前天 前天 HH:mm   * 一年內(nèi) MM:DD HH:mm   * 去年 去年 MM:DD HH:mm   * 前年 前年 MM:DD HH:mm   * 更遠(yuǎn) yyyy:MM:DD HH:mm   * 毫秒計(jì)算   * @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 + "---時(shí)間差" + time/ 1000/ 60 + "分鐘");    XCApplication.base_log.i(XCConfig.TAG_SYSTEM_OUT, curTime + "---當(dāng)前時(shí)間" + 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 "剛剛";    }  }

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

     那么這里的需求就改為

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

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

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

/**   * 終極方法   * 將一個(gè)時(shí)間戳轉(zhuǎn)換成提示性時(shí)間字符串,如   * 2分鐘內(nèi) 無(wú)顯示   * 2分鐘-今天 2分鐘-今天 HH:mm   * 昨天 昨天 HH:mm   * 前天 前天 HH:mm   * 今年 MM:DD HH:mm   * 去年 去年 MM:DD HH:mm   * 前年 前年 MM:DD HH:mm   * 更遠(yuǎn) yyyy:MM:DD HH:mm   * 毫秒計(jì)算   * @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();    //時(shí)間值    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("")){        //今天的時(shí)間yyyy-MM-dd        String today_str = format(today, FORMAT_SHORT);        String thisYear_str = getYear(today);         //昨天的時(shí)間 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);         //前天的時(shí)間 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);         //去年的時(shí)間 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));         //前年的時(shí)間 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;  }

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

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 尉氏县| 丹巴县| 夹江县| 宁城县| 景洪市| 辉县市| 新津县| 商水县| 平顶山市| 额尔古纳市| 汕尾市| 山东省| 溧水县| 同仁县| 东光县| 神池县| 永仁县| 资源县| 南乐县| 滕州市| 中方县| 淄博市| 日土县| 封开县| 勐海县| 谢通门县| 德化县| 黄浦区| 芜湖市| 闵行区| 大英县| 北安市| 平定县| 两当县| 河北区| 秦皇岛市| 泰安市| 花莲县| 林芝县| 洛浦县| 内乡县|