js和php获取的时间戳位数不一致问题

JavaScript019

js和php获取的时间戳位数不一致问题,第1张

js获取的时间戳是13位的,精确到毫秒,而php获取的时间戳用strtotime是10位的,这样就导致一般我们在计算倒计时这样的问题时会出现差错,我们可以把js获取的时间戳除以1000,然后再计算

在js中,可以对两个时间戳进行相减,使用if语句判断结果,从而实现时间戳的比较。具体步骤如下:

1、在test.html文件内,命名为test.html,用于讲解js时间戳怎么比较。

2、在test.html文件内,在js标签内创建一个pan()函数,函数有两个参数,分别st1,st2。

3、在pan()函数内,分别将两个时间使用new Date()转换为时间对象,保存在t1,t2变量中。

4、在pan()函数内,将两个时间对象分别利用getTime()方法转换为时间戳,分别保存在变量tt1,tt2变量中。

5、在pan()函数内,将两个时间戳相减,差值保存在res变量中。

6、在pan()函数内,使用if语句对res进行判断,如果res等于0,提示“两个时间相等”,如果res大于0,提示“t1时间大于t2时间”,如果不符合上面两种情况,则提示“t2时间大于t1时间”。

7、在pan()函数外,创建两个时间变量,并调用pan()函数进行判断。

8、在浏览器打开test.html文件,查看判断的结果。

先用time()函数读取时间戳,再用date()函数将其转换为“XXXX-XX-XX”格式。代码如下:

//文件名:index.php

<script>

alert('今天是:<?=date('Y-m-d',time())?>')

</script>"

代码在JS文件里那就这样写:

//index.php 代码:

<script type="text/javascript" src="thejs.js"></script>

<div id="now"><?=date('Y-m-d')?></div>

//thejs.js 代码:

var now = document.getElementById('now').innerHTML