JAVASCRIPT、ANDROID、C#分别实现普通日期转换多少小时前、多少分钟前、多少秒
貌似最近很流行这个,就写了个js函数实现之
<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> < HTML > < HEAD > < TITLE > New Document </ TITLE > < META NAME="Generator" CONTENT="EditPlus"> < META NAME="Author" CONTENT=""> < META NAME="Keywords" CONTENT=""> < META NAME="Description" CONTENT=""> < script language="javascript"> function stringToDateTime(postdate) { var second = 1000; var minutes = second*60; var hours = minutes*60; var days = hours*24; var months = days*30; var twomonths = days*365; var myDate = new Date(Date.parse(postdate)); if (isNaN(myDate)) { myDate =new Date(postdate.replace(/-/g, "/")); } var nowtime = new Date(); var longtime =nowtime.getTime()- myDate.getTime(); var showtime = 0; if( longtime > months*2 ) { return postdate; } else if (longtime > months) { return "1个月前"; } else if (longtime > days*7) { return ("1周前"); } else if (longtime > days) { return(Math.floor(longtime/days)+"天前"); } else if ( longtime > hours) { return(Math.floor(longtime/hours)+"小时前"); } else if (longtime > minutes) { return(Math.floor(longtime/minutes)+"分钟前"); } else if (longtime > second) { return(Math.floor(longtime/second)+"秒前"); }else { return(longtime+" error "); } } document.write(stringToDateTime("2009-05-24 15:05:00")); </ script > </ HEAD > < BODY > </ BODY > </ HTML > |
最近研究android,用java写的实现方法
public static String getTimeDiff(Date date) { Calendar cal = Calendar.getInstance(); long diff = 0 ; Date dnow = cal.getTime(); String str = "" ; diff = dnow.getTime() - date.getTime(); if (diff > 2592000000L) { //30 * 24 * 60 * 60 * 1000=2592000000 毫秒 str= "1个月前" ; } else if (diff > 1814400000 ) { //21 * 24 * 60 * 60 * 1000=1814400000 毫秒 str= "3周前" ; } else if (diff > 1209600000 ) { //14 * 24 * 60 * 60 * 1000=1209600000 毫秒 str= "2周前" ; } else if (diff > 604800000 ) { //7 * 24 * 60 * 60 * 1000=604800000 毫秒 str= "1周前" ; } else if (diff > 86400000 ) { //24 * 60 * 60 * 1000=86400000 毫秒 //System.out.println("X天前"); str=( int )Math.floor(diff/86400000f) + "天前" ; } else if (diff > 18000000 ) { //5 * 60 * 60 * 1000=18000000 毫秒 //System.out.println("X小时前"); str=( int )Math.floor(diff/18000000f) + "小时前" ; } else if (diff > 60000 ) { //1 * 60 * 1000=60000 毫秒 //System.out.println("X分钟前"); str=( int )Math.floor(diff/ 60000 ) + "分钟前" ; } else { str=( int )Math.floor(diff/ 1000 ) + "秒前" ; } return str; } |
网上有用C#后台实现的方法,为方便查看就转贴到下面吧:)
public string DateStringFromNow(DateTime dt) { TimeSpan span = DateTime.Now - dt; if (span.TotalDays >60) { return dt.ToShortDateString(); } else if ( span.TotalDays >30 ) { return "1个月前" ; } else if (span.TotalDays >14) { return "2周前" ; } else if (span.TotalDays >7) { return "1周前" ; } else if (span.TotalDays >1) { return string .Format( "{0}天前" , ( int )Math.Floor(span.TotalDays)); } else if (span.TotalHours >1) { return string .Format( "{0}小时前" , ( int )Math.Floor(span.TotalHours)); } else if (span.TotalMinutes >1) { return string .Format( "{0}分钟前" , ( int )Math.Floor(span.TotalMinutes)); } else if (span.TotalSeconds >=1) { return string .Format( "{0}秒前" , ( int )Math.Floor(span.TotalSeconds)); } else { return "1秒前" ; } } |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步