时间戳

1、时间戳是指格林威治时间自1970年1月1日(00:00:00 GMT)至当前时间的总秒数 。 通俗的讲 , 时间戳是一份能够表示一份数据在一个特定时间点已经存在的完整的可验证的数据 。
2、时间戳(time-stamp)是一个经加密后形成的凭证文档 , 它包括三个部分:需加时间戳的文件的摘要(digest);DTS收到文件的日期和时间;DTS的数字签名 。
3、一般来说 , 时间戳产生的过程为:用户首先将需要加时间的文件用Hash编码加密形成摘要 , 然后将该摘要发送到DTS , DTS在加入了收到文件摘要的日期和时间信息后再对该文件加密(数字签名) , 然后送回用户 。
4、书面签署文件的时间是由签署人知己写上的 , 而数字时间戳则不然 , 它是有认证单位DTS来加的 , 以DTS收到文件的时间为依据 。

时间戳

文章插图

以前遇到过一个关于时间戳的问题 , 为了不被大家鄙视 , 先说一下概念 。
具体时间戳怎么定义的我也不清楚 , 但百度百科中有这么一句:“时间戳是自 1970 年 1 月 1 日(00:00:00 GMT)至当前时间的总秒数” 。
按这个定义 , 编程语言中倒是有一种类似的函数 , getTime() , 但这个函数返回的是自1970年1月1日到当前时间的总  毫秒数 , 而不是总  秒数 。
在js中 , 将一个字符转化成Date型也不是什么难事:
var str = '2013-08-30'; // 日期字符串
str = str.replace(/-/g,'/'); // 将-替换成/ , 因为下面这个构造函数只支持/分隔的日期字符串
var date = new Date(str); // 构造一个日期型数据 , 值为传入的字符串
在上面 , new Date(str)构造了一个日期 , 参数str至少要提供年月日三部分 , 也就是形如“2013/03/08”的字符串 , 不能是"2013/03" , 否则将得到一个NaN 。 此时构造出来的时间是:2013/03/08 00:00:00 。 同时你还可以传入小时、分钟和秒数 , 但不能只传入小时 , 比如“2013/03/08 17” , 这样的参数同样会得到一个NaN 。 参数可以是“2013/03/08 17:20”或者“2013/03/08 17:20:05” , 这样都可以得到正确的时间 , 其中如果秒数没给出 , 则默认为0 。
此时得到的是日期型数据 , 如果要得到上面所谓的时间戳 , 可以这样:
var time = date.getTime();
这样得到的是一个数值 , 表示的是从1970年1月1日0点0分0秒到date那一刻的毫秒数 , 如果把这个数字除以1000 , 就得到了秒数 , 同样继续除以60 , 得到分钟 , 再除以60得到小时等等 。
提示 , 通过这个getTime()函数 , 你可以得到两个日期的毫秒数 , 继而转化成秒数、分钟、小时甚至天数 , 比较两个日期的差值 。

 
【时间戳】无相关信息

    推荐阅读