js 计算倒计时
第一个是我自己写的
// t等于时间戳差
function changeTime(t) {
let timeStr = ''
let tmp = t/(24* 3600 * 1000)
if (tmp > 1) timeStr = parseInt(tmp) + '天' if (tmp) {
tmp = tmp.toString().split('.')[1] tmp = parseInt(tmp)
tmp = t/(3600 * 1000) if (tmp>1) timeStr += parseInt(tmp) + '小时'
tmp = tmp.toString().split('.')[1] tmp = parseInt(tmp)
tmp = tmp/(1000 * 60)
if (tmp>1) timeStr += parseInt(tmp) + '分钟' tmp = parseInt(tmp)
tmp = tmp/1000
if (tmp>1) timeStr += parseInt(tmp) + '秒' }
return timeStr
}
计算结果不对, 因为余数取值错误 7÷3 = 2 ······1,如果用以上方法取余数,此时7÷3 = 2······33333,显然是不对的
正确的方法后面补充。。。
function getDjsTime (timestamp) {
let t = timestamp - new Date().getTime()
if (t<0) {
return false
}
// 得到天数
let days = parseInt(t / 1000 / 60 / 60 / 24)
// 得到小时
let hours = parseInt(t / 1000 / 60 / 60 % 24)
// 得到分钟
let minutes = parseInt(t / 1000 / 60 % 60)
// 得到秒
let seconds = parseInt(t / 1000 % 60)
let timeStr = days + '天'
timeStr += hours + '小时'
timeStr += minutes + '分钟'
timeStr += seconds + '秒'
return timeStr
}
let d = '2020-10-1'
djsTimeValue = getDjsTime()
let inter = setInterval(_ => {
let text = djsTime(d)
if (text) {
djsTimeValue = text
} else {
djsTimeValue = '超出投资时间'
clearInterval(inter)
}
}, 1000)
也可以写成setTimeout 方式
function djsTime (timestamp) {
let t = timestamp - new Date().getTime()
if (t<) {
djsTimeValue = '投资时间结束'
}
// 得到天数
let days = parseInt(t / / / / )
// 得到小时
let hours = parseInt(t / / / % )
// 得到分钟
let minutes = parseInt(t / / % )
// 得到秒
let seconds = parseInt(t / % )
let timeStr = days + '天'
timeStr += hours + '小时'
timeStr += minutes + '分钟'
timeStr += seconds + '秒'
djsTimeValue = timeStr // 设置时间
setTimeout(_ => {
djsTime(timestamp)
}, )
}
djsTime (‘2020-10-1’) 直接调用即可
还有一种维持djs函数独立的写法,我喜欢这种
function djsTime (timestamp) {
let t = timestamp - new Date().getTime()
if (t<0) {
return false
}
// 得到天数
let days = parseInt(t / 1000 / 60 / 60 / 24)
// 得到小时
let hours = parseInt(t / 1000 / 60 / 60 % 24)
// 得到分钟
let minutes = parseInt(t / 1000 / 60 % 60)
// 得到秒
let seconds = parseInt(t / 1000 % 60)
let timeStr = days + '天'
timeStr += hours + '小时'
timeStr += minutes + '分钟'
timeStr += seconds + '秒'
return timeStr
}
function test() {
let timeStr = djsTimeFun()
if (!timeStr) {
djsTimeValue = timeStr // 设置时间
} else {
djsTimeValue = '超出投资时间' // 设置时间
}
setTimeout(_ => {
test(timestamp)
}, 1000)
}
test()
js 计算倒计时的更多相关文章
- 倒计时的js实现 倒计时 js Jquery
by zhangxinxu from http://www.zhangxinxu.com本文地址:http://www.zhangxinxu.com/wordpress/?p=987 一.如火如荼的团 ...
- js活动倒计时
html代码: <div "></div> <div "></div> <div "></div> ...
- JS实现倒计时(天数,时,分,秒)
<!DOCTYPE html> <html> <head> <meta charset="utf-8" > <titl ...
- 一个简单的js实现倒计时函数
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- js时间倒计时
看了网上的其他的例子,觉得写的都有点复杂,不好理解,于是自己动手写了个. 本来想封装成jquery插件,但是觉得因为功能很简单,没有必要做成jquery插件,引用的时候不需要引入jqery库,这里直接 ...
- js实现倒计时及时间对象
JS实现倒计时效果代码如下: <!doctype html> <html> <head> <meta charset="utf-8"> ...
- js 验证码 倒计时60秒
js 验证码 倒计时60秒 <input type="button" id="btn" value="免费获取验证码" /> & ...
- JS计算字符串所占字节数
最近项目有个需求要用js计算一串字符串写入到localStorage里所占的内存,众所周知的,js是使用Unicode编码的.而Unicode的实现有N种,其中用的最多的就是UTF-8和UTF-16. ...
- js计算2个日期相差的天数,两个日期相差的天数,日期相隔天数
js计算2个日期相差的天数,两个日期相差的天数,日期相隔天数 >>>>>>>>>>>>>>>>>& ...
随机推荐
- mysql 将时间戳与日期时间的转换
from_unixtime()是MySQL里的时间函数 mysql>SELECT FROM_UNIXTIME( 1249488000, '%Y%m%d' ) ->20071120 mys ...
- Java常考面试题整理(一)
1.什么是java虚拟机?为什么java被称作是"平台无关的编程语言". 参考答案: java虚拟级是一个可以执行java字节码的虚拟机进程,java源文件被编译成能被java虚拟 ...
- 循环链表C语言实现
按照单链表的设计,稍加改动.和单向链表不一样的地方,头节点不指向NULL,而是指向自己head 循环链表的判满 1)判断next是不是头结点,2)判断size /* * CycleLinkList.h ...
- 20191010-8 alpha week 1/2 Scrum立会报告+燃尽图 06
此作业要求参见:https://edu.cnblogs.com/campus/nenu/2019fall/homework/8751 一.小组情况组长:贺敬文组员:彭思雨 王志文 位军营 杨萍队名:胜 ...
- Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 1099 bytes) in
解释是可用内存已耗尽,这关系到PHP的memory_limit的设置问题. 我在网上看到,有两种方法解决 1.修改php.ini memory_limit = 128 这种方法需要重启服务器,很显然, ...
- 介绍一下 NDK?
1.NDK 是一系列工具的集合 NDK 提供了一系列的工具,帮助开发者快速开发 C(或 C++)的动态库,并能自动将 so 和 java 应用一起打包成 apk.NDK 集成了交叉编译器,并提供了相应 ...
- [Python]操作shell脚本报错Permission denied
问题: In []: os.system('./test_shell_no_para.sh') : ./test_shell_no_para.sh: Permission denied Out[]: ...
- 集合(Java总结一)
一.Queue 一个队列就是一个先入先出(FIFO)的数据结构 1.没有实现的阻塞接口的LinkedList: 实现了java.util.Queue接口和java.util.AbstractQueue ...
- 阶段3 2.Spring_06.Spring的新注解_3 AnnotationConfigApplicationContext的使用
目前这个配置文件除了导约束就没有其他的内容了. 删除这个bean.xml文件 但是测试类里面还是读取的xml的信息 注解 查看ApplicationContext的 关系图 查看实现类的实现类 之前我 ...
- 页面访问过程及get/post的理解——
Chrome查看开发者工具面板,常看的一些数据? Elements:查找网页源代码HTML中的任一元素,手动修改任一元素的属性和样式且能实时在浏览器里面得到反馈. Console:记录开发者开发过程中 ...