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个日期相差的天数,两个日期相差的天数,日期相隔天数 >>>>>>>>>>>>>>>>>& ...
随机推荐
- nginx负载均衡 理解与测试
Nginx负载均衡概述 Web服务器,直接面向用户,往往要承载大量并发请求,单台服务器难以负荷,我使用多台WEB服务器组成集群,前端使用Nginx负载均衡,将请求分散的打到我们的后端服务器集群中,实现 ...
- python3笔记一:python基础知识
一:学习内容 注释 输入输出 标识符 变量和常量 二:注释 1. 单行注释 #:一个井号,代表我注释了这一行 2.多行注释 ''' ''':注释多行,三个单引号 3.多行注释 "" ...
- Mysql超强卸载
1.控制面板——>所有控制面板项——>程序和功能,卸载mysql server! 2.删除MySQL文件,尤其是ProgramData里面的隐藏文件MySQL,我当时没有删除,重新安装My ...
- 后盾网lavarel视频项目---图片上传
后盾网lavarel视频项目---图片上传 一.总结 一句话总结: 前端还是普通的前端操作,前端上传图片的地址就是图片上传的路由,后端代码也很简单 public function uploader(R ...
- C# 查看计算机端口使用状态
using System.Net.NetworkInformation; /// <summary> /// 获取第一个可用的端口号 /// </summary> /// &l ...
- koa2中间键原理
一.koa2 const http = require('http'); const compose = require('./compose'); class Koa { constructor() ...
- jeecms v9图标不显示问题
- vue-cli本地环境API代理设置和解决跨域
前言 我们在使用vue-cli启动项目的时候npm run dev便可以启动我们的项目了,通常我们的请求地址是以localhost:8080来请求接口数据的,localhost是没有办法设置cooki ...
- mysql用sql语句创建表和数据 设置字符编码为utf-8
简而言之 CREATE DATABASE xx CHARACTER SET utf8 COLLATE utf8_general_ci; USE xx; ),qname ) ) ) ) )); ) ,t ...
- C++写Socket——TCP篇(0)建立连接及双方传输数据
满山的红叶--飘落之时-- 最近接触了点关于用C++写socket的东西,这里总结下. 这里主要是关于TCP的,TCP的特点什么的相关介绍在我另一篇博文里,所以这里直接动手吧. 我们先在windows ...