智慧印刷工坊

智慧印刷工坊

十年前的js代码

admin 157 194

这段js是12年写的,当时是为了在信息流中显示文章发表日期在几天前、几小时前、几分钟前这样的功能。

//将长整型的时间转化为距离现在的时间,刚刚,几分钟前,几小时前,几时几分,昨天几时几分,前天几时几分,//几月几日几时几分,年月日时分的形式//参数utcDate为想要转化的时间,为number类型,后台对应相应的长整型functionsmartDateFormat(utcDate){varcrdate=newDate(utcDate);varcryear=();varcrmonth=()+1;varcrday=();varcrhour=();varcrminute=();varcurrdate=newDate();varcurryear=();varcurrmonth=()+1;varcurrday=();varcurrhour=();varcurrminute=();if(crhour10){crhour="0"+crhour;}if(crminute10){crminute="0"+crminute;}if(currhour10){currhour="0"+currhour;}if(currminute10){currminute="0"+currminute;}if(cryear!=curryear){/*年不同*/if(crmonth==12currmonth==1){/*月相邻*/vardaydis=31-crday+currday;if(daydis==1){/*相邻日*/varhourdis=24-crhour+currhour;//时差if(hourdis==1){/*时相连*/varmindis=60-crminute+currminute;if(mindis60){returnhourdis+"小时前";}else{returnmindis+"分钟前";}}elseif(hourdis==2){returnhourdis+"小时前";}else{return"昨天"+""+crhour+":"+crminute;}}elseif(daydis==2){return"前天"+""+crhour+":"+crminute;;}else{returncryear+"年"+crmonth+"月"+crday+"日"+""+crhour+":"+crminute;}}else{/*月不相邻*/returncryear+"年"+crmonth+"月"+crday+"日"+""+crhour+":"+crminute;}}else{/*年相同*/if(crmonth!=currmonth){/*月不同*/if(crmonth-currmonth==1){/*月相邻*/varcurrdaycount=getDayOfMonth(cryear,crmonth);vardaydis=currdaycount-crday+currday;if(daydis==1){/*相邻日*/varhourdis=24-crhour+currhour;//时差if(hourdis==1){/*时相连*/varmindis=60-crminute+currminute;if(mindis60){returnhourdis+"小时前";}else{returnmindis+"分钟前";}}elseif(hourdis==2){returnhourdis+"小时前";}else{return"昨天"+""+crhour+":"+crminute;}}elseif(daydis==2){return"前天"+""+crhour+":"+crminute;;}else{returncrmonth+"月"+crday+"日"+""+crhour+":"+crminute;}}else{/*月不相邻*/returncrmonth+"月"+crday+"日"+""+crhour+":"+crminute;}}else{/*月相同*/if(crday!=currday){/*日不同*/vardaydis=currday-crday;//日差if(daydis==1){/*相邻日*/varhourdis=24-crhour+currhour;//时差if(hourdis==1){/*时相连*/varmindis=60-crminute+currminute;if(mindis60){returnhourdis+"小时前";}else{returnmindis+"分钟前";}}elseif(hourdis==2){returnhourdis+"小时前";}else{return"昨天"+""+crhour+":"+crminute;}}elseif(daydis==2){return"前天"+""+crhour+":"+crminute;}else{returncrmonth+"月"+crday+"日"+""+crhour+":"+crminute;}}else{/*日相同*/varhourdis=currhour-crhour;//时差if(hourdis==0){/*时相同*/varminutedis=currminute-crminute;//分差if(minutedis==0){/*分相同*/return"刚刚";}else{/*分不同*/returnminutedis+"分钟前";}}elseif(hourdis==1){/*小时相邻*/varmindis=60-crminute+currminute;//分差if(mindis60){returnhourdis+"小时前";}else{returnmindis+"分钟前";}}elseif(hourdis12){/*十二小时内*/returnhourdis+"小时前";}else{/*十二小时外*/returncrhour+":"+crminute;}}}}}/*返回某一年的某一月有几天*/functiongetDayOfMonth(year,month){if(month==2){if(year%4==0){return28;}else{return29;}}elseif(month==4||month==6||month==9||month==11){return30;}else{return31;}}

大家看得懂吗?