JS计算从现在到某个时刻还有多少时间,显示当前日期时间距离x年x月x日还有x天x小时x分钟x秒,如果给定时间比当前时间更早,则显示为距离2012-9-30已过去1天22小时26分30秒的格式,如果给定时间比当前时间晚则显示为距离2012-10-3还有1天1小时32分20秒的格式.
函数调用方式举例:
count_down('2012-10-2');//只给日期
count_down('2012-10-2 3:22');//给出日期和时分
count_down('2012-10-2 3:22:33');给出日期和时分秒
注意事项:不要删除<span id="show">Loading...</span>
日期必须以4位年月开头,严格按照上述例子书写
形如2012-30-50 25:88:99,年月日时分秒只要有一个是错误的,程序都将无法正常运行.

<span id="show">Loading...</span>
<script type="text/javascript">
function count_down(o){
var datatime=/^[\d]{4}-[\d]{1,2}-[\d]{1,2}( [\d]{1,2}:[\d]{1,2}(:[\d]{1,2})?)?$/ig,str='',conn,s;
if(!o.match(datatime)){
alert('参数格式为2020-01-01[ 01:01[:01]].\r其中[]内的内容可省略');
return false;
}
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]) + 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('2012-1-1 00:00:00');
</script>

JS倒计时,距离某一日期还有多少时间的更多相关文章

  1. js前台计算两个日期的间隔时间

    js前台计算两个日期的间隔时间(时间差)原创 2017年08月28日 16:09:43 标签:javascript 1144在后台传来两个时间字段,从中解析出两个字符串类型的日期格式 需要在前台解析出 ...

  2. js前台计算两个日期的间隔时间(时间差)

    在后台传来两个时间字段,从中解析出两个字符串类型的日期格式 需要在前台解析出两个时间的间隔 这里采用获取两个日期的时间戳进行计算 时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时 ...

  3. js 倒计时(可自定义时间)

    <html> <head> <title>js 倒计时</title> </head> <body> <div> & ...

  4. js倒计时-倒计输入的时间

    计算指定时间到指定时间之间相差多少天.时.分.秒. 节日.活动.商城常用. 原理: 主要使用到时间戳,也就是从1970 年 1 月 1 日 到指定时间的毫秒数. 1. 求出毫秒差 :当两个时间直接进行 ...

  5. js倒计时显示

    <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>j ...

  6. Js倒计时程序

    Js倒计时程序 点击下载

  7. JS倒计时网页自动跳转代码

    <title>JS倒计时网页自动跳转代码</title> <script language="JavaScript" type="text/ ...

  8. js倒计时防页面刷新

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  9. JS倒计时 代码

    JS倒计时 代码 <div> <span id="KSD">3</span>天 <span id="KSH">1 ...

随机推荐

  1. 作为一个新人,怎样学习嵌入式Linux?

        作为一个新人,怎样学习嵌入式Linux?   在学习嵌入式Linux之前,肯定要有C语言基础.汇编基础有没有无所谓(就那么几条汇编指令,用到了一看就会).尝试着写一些C语言竞赛的题目.它们是纯 ...

  2. GridView数据绑定控件的模版列时设置显示的格式

    形式 语法 结果 数字 {0:N2} 12.36   数字 {0:N0} 13   货币 {0:c2} $12.36   货币 {0:c4} $12.3656   货币 "¥{0:N2}&q ...

  3. C 标准库 - <locale.h>

    C 标准库 - <locale.h> 简介 locale.h 头文件定义了特定地域的设置,比如日期格式和货币符号.接下来我们将介绍一些宏,以及一个重要的结构 struct lconv 和两 ...

  4. C#向Sql数据库插入空值的控制

    string name = textBox1.Text; int age = Convert.ToInt32(textBox2.Text.Trim()); ? null : (int?)Convert ...

  5. Linux命令行编辑常见的快捷键(有用, 通用)

    本文讲述了Linux命令行编辑常见的快捷键,希望对您有所帮助. Linux命令行编辑快捷键: history 显示命令历史列表 ↑(Ctrl+p) 显示上一条命令 ↓(Ctrl+n) 显示下一条命令 ...

  6. 笔记本POWER部分的应用——(MOS/LDO/BUCK BOOST)

    一.MOSFET 简介: 金属-氧化物半导体场效应晶体管,简称金氧半场效晶体管(Metal-Oxide-Semiconductor Field-Effect Transistor, MOSFET)是一 ...

  7. final 和static

    一.final 1.final变量: 当你在类中定义变量时,在其前面加上final关键字,那便是说,这个变量一旦被初始化便不可改变,这里不可改变的意思对基本类型来说是其值不可变,而对于对象变量来说其引 ...

  8. 今天遇到一个git码云同步的问题

    一开始是因为eclipse编码不同意导致乱码,所以我和师弟就想统一都用UTF-8的,师弟统一好了,让我pull一下,pull的时候有冲突,因为我和师弟都修改了其中一个文件,然后我这边就删除了那个文件再 ...

  9. HDU1009_FatMouse&#39; Trade【贪心】【水题】

    FatMouse' Trade Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  10. Apache/Nigix + Tomcat + 负载均衡

    Part I: Apache + Tomcat + 负载均衡 http://www.open-open.com/lib/view/open1350612892352.html http://micha ...