js 时间戳 减去 另一个时间戳 得到的差值 如何换成普通的时间?

发布网友 发布时间:2022-04-23 22:51

我来回答

9个回答

热心网友 时间:2022-04-22 15:48

得到是毫秒数,假设得到的是cnt,则

cnt毫秒 = cnt / 1000 秒

cnt毫秒 = cnt / 1000 / 60 分

cnt毫秒 = cnt / 1000 / 60 / 60 小时

cnt毫秒 = cnt / 1000 / 60 / 60 / 24 天

注:时间戳即秒数

扩展资料:

关于时间戳的转换:

date = new Date('2014-04-23 18:55:49:123'); //传入一个时间格式,如果不传入就是获取现在的时间了,就这么简单。

有三种方式获取

1、time1 = date.getTime()

2、time2 = date.valueOf()

3、time3 = Date.parse(date)

三种获取的区别

第一、第二种:会精确到很小

第三种:只能精确到秒,将用0来代替

比如上面代码输出的结果(一眼就能看出区别):

1398250549123

1398250549123

1398250549000

热心网友 时间:2022-04-22 17:06

让我一起学习一个新的内建对象:日期(date)。该对象存储日期和时间,并提供了日期/时间的管理方法。

例如,我们可以使用它来存储创建/修改时间,或者用来测量时间,再或者仅用来打印当前时间。

一、创建
创建一个新的 Date 对象,只需要调用 new Date(),在调用时可以带有下面这些参数之一:

new Date()

不带参数 —— 创建一个表示当前日期和时间的 Date 对象:

let now = new Date();
alert( now ); // 显示当前的日期/时间
new Date(milliseconds)

创建一个 Date 对象,其时间等于 1970-01-01 00:00:00 UTC+0 再过一毫秒(1/1000 秒)。

// 0 表示 01.01.1970 UTC+0
let Jan01_1970 = new Date(0);
alert( Jan01_1970 );

// 现在增加 24 小时,得到 02.01.1970 UTC+0
let Jan02_1970 = new Date(24 * 3600 * 1000);
alert( Jan02_1970 );
传入的整数参数代表的是自 1970-01-01 00:00:00 以来经过的毫秒数,该整数被称为 时间戳。

这是一种日期的轻量级数字表示形式。我们通常使用 new Date(timestamp) 通过时间戳来创建日期,并可以使用 date.getTime() 将现有的 Date 对象转化为时间戳(下文会讲到)。

在 01.01.1970 之前的日期带有负的时间戳,例如:

// 31 Dec 1969
let Dec31_1969 = new Date(-24 * 3600 * 1000);
alert( Dec31_1969 );
new Date(datestring)

如果只有一个参数,并且是字符串,那么它会被自动解析。该算法与 Date.parse 所使用的算法相同,我们将在下文中进行介绍。

热心网友 时间:2022-04-22 18:41

你好,推荐一个前端经常用到的JavaScript常用函数库 - jutils

其中的 getTimeInterval 方法:

获取两个时间的间隔,返回间隔的天、小时、分钟和秒。 

jutils.getTimeInterval("开始时间", "结束时间");

例:

jutils.getTimeInterval(1353340800000,1353427200000)
//"24小时0分钟0秒"


注意:结束时间要大于开始时间否则返回空。



部分代码截图:

jutils - 获取两个时间的间隔

热心网友 时间:2022-04-22 20:32

这个主要是计算的问题,没有过多的逻辑。下面是简单的代码实现,仅供参考:

var oDate1 = new Date(2015,8,1,0,0,0);
var oDate2 = new Date(2015,10,1,0,0,0);
var nTime = oDate2.getTime() - oDate1.getTime();
var day = Math.floor(nTime/800);    
var hour = Math.floor(nTime%800/3600);    
var minute = Math.floor(nTime%800%3600/60);

热心网友 时间:2022-04-22 22:40

如何通过JS计算两个日期相差天数(月份同理):var s1 = "2007-01-01".replace(/-/g, "/");
var s2 = "2007-12-31".replace(/-/g, "/");
d1 = new Date(s1);
d2 = new Date(s2);
var time= d2.getTime() - d1.getTime();
var days = parseInt(time / (1000 * 60 * 60 * 24));
alert("相差天数: " + days); JS计算两个时间之间的月份差: //本代码经过我自己的测试没问题
//注意 d_start、和d_end是Date对象
//d_start可以这样创建:Date d_start = new Date(2010,03,31);
//d_end可以这样创建:Date d_start = new Date(2010,04,1);
//startTmp、endTmp是数组对象 解决日期是XXXX年XX月31日是所遇见的问题(如2010-03-31被java script看成//是2010-04-01,我发现xxxx-xx-31在java script中它的毫秒值和它的下一个月的第一天一样)
//那么对应的startTmp的值为[2010,3,31],endTmp[2010,4,1]
//
注意后面有个简单的方法,并且我解释了上面的问题出现的原因
//
function diffDay(d_start, d_end, startTmp, endTmp){
var confict_day = 0;
var y_startIsLeap = false;
var y_start = d_start.getYear();
var y_end = d_end.getYear();
var m_start = startTmp[1];
var m_end = endTmp[1];
//judge whether year is run year eg 2000
if(isLeapYear(y_start)){
y_startIsLeap = true;
}

热心网友 时间:2022-04-23 01:05

得到是毫秒数,假设得到的是cnt,则
cnt毫秒 = cnt / 1000 秒
cnt毫秒 = cnt / 1000 / 60 分
cnt毫秒 = cnt / 1000 / 60 / 60 小时
cnt毫秒 = cnt / 1000 / 60 / 60 / 24 天

热心网友 时间:2022-04-23 03:46

时间戳即秒数,800000/(60*60*24) = 天数 后面自己算把

热心网友 时间:2022-04-23 06:44

let timeO = new Date(timeStamp - Date.parse(new Date())) //时间戳差值
let h = Math.floor(timeO /(1000 * 60 * 60))
let m = Math.floor(timeO % (1000 * 60 * 60) / (1000*60))
let s = Math.floor(timeO % (1000 * 60 * 60) % (1000 * 60) / 1000)
let timeStr = [h, m, s].map(formatNumber).join(':')

热心网友 时间:2022-04-23 09:59

js 时间戳 减去 另一个时间戳 得到的差值 如何换成普通的时间?

guiysgf6397 LV7
2017-06-18
满意答案

vaing1758
LV10
2017-06-19
获取两个时间的间隔,返间隔的天、小时、分钟和秒 getTimeInterval 。

你好,推荐一个前端经常用到的JavaScript常用函数库 - jutils

jutils.getTimeInterval("开始时间", "结束时间");
例:

jutils.getTimeInterval(1353340800000,1353427200000)
//"24小时0分钟0秒"

注意:结束时间要大于开始时间否则返空。

部分代码截图:

jutils - 获取两个时间的间隔

js 时间戳 减去 另一个时间戳 得到的差值 换成普通的时间。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com