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秒前";
}
}
转自:http://www.cnblogs.com/Excellent/archive/2009/05/24/1488270.html
JAVASCRIPT、ANDROID、C#分别实现普通日期转换多少小时前、多少分钟前、多少秒的更多相关文章
- .net OADate 转javascript的Datetime js 5位 日期 转换
以下是将.net的OADate转成javascript的DateTime函数. 其中参数oadate是.net那里传过来的UTC时间的double.记得 一定是UTC时间. .net Double o ...
- 原生JS 将时间转换成几秒前,几分钟前…常用于评论回复功能
//格式化时间 留备用~ function getDateDiff(dateStr) { var publishTime = dateStr / 1000, d_seconds, d_minutes, ...
- Javascript兼容各浏览器的日期转换
var date = new Date(Date.parse("2015-09-05".replace(/-/g,"/")));'2015-09-05'是无法被 ...
- web实践小项目<一>:简单日程管理系统(涉及html/css,javascript,python,sql,日期处理)
暑假自学了些html/css,javascript和python,苦于学完无处练手几乎过目即忘...最后在同学的建议下做了个简单日程管理系统.借第一版完成之际,希望能将实践期间犯过的错误和获得的新知进 ...
- Android Bitmap 和 ByteArray的互相转换
Android Bitmap 和 ByteArray的互相转换 移动平台图像处理,需要将图像传给native处理,如何传递?将bitmap转换成一个 byte[] 方便传递也方便cpp代码直接处理图像 ...
- springMvc的日期转换之二
方式一:使用@InitBinder注解实现日期转换 前台页面: 后台打印: 方式二:处理多种日期格式类型之间的转换 采用方式:由于binder.registerCustomEditor(Date.cl ...
- Struts2中Date日期转换的问题
今天跑程序的时候莫名其妙的出现了下面的一个异常: java.lang.NoSuchMethodException:com.ca.agent.model.mybatis.ApprovalInforC ...
- Js 日期转换函数(UTC时间转换及日期想加减)
IOS上Js日期转换中new Date("yyyy-mm-dd")不能正常工作,必须使用new Date("yyyy/MM/dd"); 日期相加减: Date. ...
- json日期转换
//调用 ChangeDateFormat(CreatTime) //json日期转换 function ChangeDateFormat(jsondate) { jsondate = jsondat ...
随机推荐
- NodeJS学习之网络操作
NodeJS -- 网络操作 使用NodeJS内置的http模块简单实现HTTP服务器 var http = require('http'); http.createServer(function(r ...
- Backbone.js学习之Router
官方文档的解释: Web applications often provide linkable, bookmarkable, shareable URLs for important locatio ...
- 前端插件Emmet
Sublime text安装 步骤一:首先你需要为sublime text安装Package Control组件: 按Ctrl+`调出sublime text的console 粘贴以下代码到底部命令行 ...
- static和public
static:静态. 可以设置:静态类.静态变量.静态方法. 没有使用static修饰的成员为实例成员. 静态成员的使用:通过类名. 1.不加static修饰的成员是对象成员,归每个对象所 ...
- php学习笔记2--安装apache遇到的问题
下载apache之后,以管理员身份运行cmd:1.httpd -k install2.httpd -k start出现无法运行的问题,可能的原因是443端口已被占用.在我的机器中是因为安装了VMwar ...
- 北大ACM(POJ1013-Counterfeit Dollar)
Question:http://poj.org/problem?id=1013 问题点:排除+验证. Memory: 244K Time: 16MS Language: C++ Result: Acc ...
- 路由器之VPN应用与配置指南
应用背景 近日,公司需要在外人员通过直接访问连接到公司内网,实现办公等一系列操作,这个时候就需要通过配置路由器VPN实现该需求了. 无线企业路由器可以帮助中小型企业搭建高性价比.稳定的企业办公网络,灵 ...
- “尝试加载 Oracle 客户端库时引发 BadImageFormatException”的解决方案
今天要写个程序,环境是win8.1+ vs2012+ oracle,可是却出现了一个意想不到的问题: 异常!以下为数据库提示详细错误信息:尝试加载 Oracle 客户端库时引发 BadImageFor ...
- Codevs 2627 村村通
时间限制: 1 s 空间限制: 32000 KB 题目等级 : 黄金 Gold 题目描述 Description 农民约翰被选为他们镇的镇长!他其中一个竞选承诺就是在镇上建立起互联网,并连接到 ...
- 如何通过jquery隐藏和显示元素
以下几种方式可以隐藏一个元素:1,CSS display的值是none.2,type="hidden"的表单元素.3,宽度和高度都显式设置为0.4,一个祖先元素是隐藏的,该元素是不 ...