JAVASCRIPT、ANDROID、C#分别实现普通日期转换多少小时前、多少分钟前、多少秒

来源:互联网 发布:手机外卖软件 编辑:程序博客网 时间:2024/05/01 07:32

貌似最近很流行这个,就写了个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();    }    elseif ( span.TotalDays >30 )    {    return"1个月前";    }    elseif (span.TotalDays >14)    {    return"2周前";    }    elseif (span.TotalDays >7)    {    return"1周前";    }    elseif (span.TotalDays >1)    {    returnstring.Format("{0}天前", (int)Math.Floor(span.TotalDays));    }    elseif (span.TotalHours >1)    {    returnstring.Format("{0}小时前", (int)Math.Floor(span.TotalHours));    }    elseif (span.TotalMinutes >1)    {    returnstring.Format("{0}分钟前", (int)Math.Floor(span.TotalMinutes));    }    elseif (span.TotalSeconds >=1)    {    returnstring.Format("{0}秒前", (int)Math.Floor(span.TotalSeconds));    }    else {    return"1秒前";    }    }


原创粉丝点击