js获取日期的小时分钟多少小时前,多少分钟前,多少秒前

收藏,2.1k 浏览
刚好项目需要这样一个功能,顺便共享出来给大家玩耍。
dateDiff(Timestamp,now Timestamp)Timestamp:毫秒
dateDiff(0,9)
//=&"3个月前"
dateDiff(new Date('').getTime())
//=&"28年前"
;(function(window){
* [dateDiff 算时间差]
{[type=Number]} hisTime [历史时间戳,必传]
{[type=Number]} nowTime [当前时间戳,不传将获取当前时间戳]
* @return {[string]}
var dateDiff = function(hisTime,nowTime){
var now =nowTime?nowTime:new Date().getTime(),
diffValue = now - hisTime,
result='',
minute = 1000 * 60,
hour = minute * 60,
day = hour * 24,
halfamonth = day * 15,
month = day * 30,
year = month * 12,
_year = diffValue/year,
_month =diffValue/month,
_week =diffValue/(7*day),
_day =diffValue/day,
_hour =diffValue/hour,
_min =diffValue/
if(_year&=1) result=parseInt(_year) + "年前";
else if(_month&=1) result=parseInt(_month) + "个月前";
else if(_week&=1) result=parseInt(_week) + "周前";
else if(_day&=1) result=parseInt(_day) +"天前";
else if(_hour&=1) result=parseInt(_hour) +"个小时前";
else if(_min&=1) result=parseInt(_min) +"分钟前";
else result="刚刚";
window.dateDiff = dateDiff
})(window);
改成了型参数,应该是这样吧
;(function(window){
* [dateDiff 算时间差]
{[type=Number]} hisTime [历史时间戳,必传]
{[type=Number]} nowTime [当前时间戳,不传将获取当前时间戳]
* @return {[string]}
var dateDiff = function(hisTime,nowTime){
if(!arguments.length) return '';
var arg = arguments,
now =arg[1]?arg[1]:new Date().getTime(),
diffValue = now - arg[0],
result='',
minute = 1000 * 60,
hour = minute * 60,
day = hour * 24,
halfamonth = day * 15,
month = day * 30,
year = month * 12,
_year = diffValue/year,
_month =diffValue/month,
_week =diffValue/(7*day),
_day =diffValue/day,
_hour =diffValue/hour,
_min =diffValue/
if(_year&=1) result=parseInt(_year) + "年前";
else if(_month&=1) result=parseInt(_month) + "个月前";
else if(_week&=1) result=parseInt(_week) + "周前";
else if(_day&=1) result=parseInt(_day) +"天前";
else if(_hour&=1) result=parseInt(_hour) +"个小时前";
else if(_min&=1) result=parseInt(_min) +"分钟前";
else result="刚刚";
window.dateDiff = dateDiff
})(window);
你可能感兴趣的文章
2 收藏,1k 浏览
1 收藏,612 浏览
8 收藏,1k 浏览
本文隶属于专栏
JSLite官网:http://jslite.io
我的博客:http://jslite.io/archives/
分享到微博?
与我们一起探索更多的未知
专业的开发者技术社区,为用户提供多样化的线上知识交流,丰富的线下活动及给力的工作机会
加入只需一步
我要举报该,理由是:
扫扫下载 App
SegmentFault
一起探索更多未知2061人阅读
var endtime_ms = Date.parse(new Date(endtime.replace(/-/g, &/&)));&& // endtime 为结束时间
得到的结果为 毫秒数,可根据 毫秒数的大小,来判断时间。
当然根据毫秒数 可以根据他们的差值 来求相差的天数或是小时等。
-------------------------------
以上是求得 用户输入时间的毫秒数
var date1=new Date(); &//开始时间var date2=new Date(); & &//结束时间
var date3=date2.getTime()-date1.getTime() &//时间差的毫秒数
------------------------------
//计算出相差天数var days=Math.floor(date3/(24*))&
//计算出小时数
var leave1=date3%(24*) & &//计算天数后剩余的毫秒数var hours=Math.floor(leave1/())//计算相差分钟数var leave2=leave1%() & & & &//计算小时数后剩余的毫秒数var minutes=Math.floor(leave2/(60*1000))
//计算相差秒数var leave3=leave2%(60*1000) & & &//计算分钟数后剩余的毫秒数var seconds=Math.round(leave3/1000)
alert(& 相差 &+days+&天 &+hours+&小时 &+minutes+& 分钟&+seconds+& 秒&)
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:99519次
积分:1454
积分:1454
排名:第16759名
原创:31篇
转载:64篇
评论:14条
(1)(1)(1)(1)(3)(1)(2)(4)(1)(2)(1)(9)(7)(1)(7)(2)(3)(9)(7)(5)(12)(3)(2)(1)(2)(1)(1)(1)(1)(1)(1)(1)JS倒计时,距离某一日期还有多少时间
JS计算从现在到某个时刻还有多少时间,显示当前日期时间距离某年某月某日还有多少天多少小时多少分钟多少秒,如果给定时间比当前时间更早,则显示为距离已过去1天22小时26分30秒的格式,如果给定时间比当前时间晚则显示为距离还有1天1小时32分20秒的格式.
函数调用方式举例:
count_down('');//只给日期
count_down(' 3:22');//给出日期和时分
count_down(' 3:22:33');给出日期和时分秒
注意事项:不要删除&span id=&show&&Loading...&/span&
日期必须以4位年月开头,严格按照上述例子书写
形如 25:88:99,年月日时分秒只要有一个是错误的,程序都将无法正常运行.
&span id=&show&&Loading...&/span&
&script type=&text/javascript&&
function count_down(o){
& && &&&var www_qsyz_net=/^[\d]{4}-[\d]{1,2}-[\d]{1,2}( [\d]{1,2}:[\d]{1,2}(:[\d]{1,2})?)?$/ig,str='',conn,s;
& && &&&if(!o.match(www_qsyz_net)){
& && && && && & alert('参数格式为[ 01:01[:01]].\r其中[]内的内容可省略');
& && && && && &
& && &&&}
& && &&&var sec=(new Date(o.replace(/-/ig,'/')).getTime() - new Date().getTime())/1000;
& && &&&if(sec & 0){
& && && && && & conn='还有';
& && &&&}else{
& && && && && & conn='已过去';
& && && && && & sec*=-1;
& && &&&}
& && &&&s={'天':sec/24/3600,'小时':sec/3600%24,'分':sec/60%60,'秒':sec%60};
& && &&&for(i in s){
& && && && && & if(Math.floor(s[i])&0 ) str += Math.floor(s[i]) +
& && &&&}
& && &&&if(Math.floor(sec)==0){ str='0秒'; }
& && &&&document.getElementById('show').innerHTML = '距离&u&' + o + '&/u&' + conn +'&u&' + str + '&/u&';
& && &&&setTimeout(function(){count_down(o)},1000);
}
count_down(' 22:55:40');
&/script&复制代码
(蜀ICP备号)扫描二维码用手机看文章}

我要回帖

更多关于 js计算日期之间小时数 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信