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个日期相差的天数,两个日期相差的天数,日期相隔天数 >>>>>>>>>>>>>>>>>& ...
随机推荐
- springBoot 整合 mybatis 项目实战
二.springBoot 整合 mybatis 项目实战 前言 上一篇文章开始了我们的springboot序篇,我们配置了mysql数据库,但是我们sql语句直接写在controller中并且使用 ...
- C++入门经典-例5.14-丢失的内存,关于内存泄漏
1:代码如下: // 5.14.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream> usin ...
- Singletom 单例
class Singletom { //最差写法.构造方法是public的,有可能会被new出多个,那就不是单例了. public Singletom(){ } public static Singl ...
- [NLP] 语义网络与知识图谱入门(一)
语义网络与知识图谱入门(一) RDF/XML 本体:一种形式化的对于共享概念体系明确而又详细的说明.就是指一种抽象的模型,可以用来描述对象类型.属性以及关系类型所构成的世界. RDF/XML主要讲的就 ...
- MySQL查看数据表的创建时间和最后修改时间
如何MySQL中一个数据表的创建时间和最后修改时间呢? 可以通过查询information_schema.TABLES 表得到信息. 例如 mysql> SELECT * FROM `infor ...
- leetcode 75颜色分类
两趟扫描,由于排序变量的特殊性,使用计数排序方法可以明显降低至O(n)time O(n) space 关于计数排序:https://mp.weixin.qq.com/s/WGqndkwLlzyVOHO ...
- ForkJoin使用
一.Fork Join 分而治之的办法 JDk为Fork/Join框架提供了很好的支持,我们想要用这个算法首先得创建一个Fork/Join任务,在JDK中这个任务就叫做:ForJoinTask,只要继 ...
- harbor仓库安装
https://6xyun.cn/article/50 环境: 192.168.0.65 harbor .docker 一.安装相关依赖 .安装Docker Docker 使用离线版docker-ce ...
- java:Oracle(聚合函数,多表查询,表之间的关系)
1.聚合函数 --max,min,sum,avg,count,nvl(,) -- max:最大值 -- max既能取数字的最大值,也可以取字符串的最大值(英文字母排列顺序),根据场景实际意义来看,最好 ...
- P4995 跳跳!
喵喵喵好久没做过贪心的题目了,刷一下免得忘了嘤嘤嘤 题面 虽然是黄题,但是我承认并不是很难,so看代码吧还是.. #include<set> #include<map> #in ...