Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/414.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何用PHP将当前日期保存在cookie中,并用javascript读取?_Javascript_Php_Cookies - Fatal编程技术网

如何用PHP将当前日期保存在cookie中,并用javascript读取?

如何用PHP将当前日期保存在cookie中,并用javascript读取?,javascript,php,cookies,Javascript,Php,Cookies,我需要使用PHP将当前日期保存在cookie中,以便可以从javascript读取 我想知道怎么做,因为在PHP中有很多获取日期的方法和格式,我不确定哪一种在javascript中最容易读取,对于我的实现来说,最重要的事情是我需要能够用纯JS检查cookie创建以来经过了多少时间(实际上它是值) 我已经有了一个readCookie()函数来获取cookie的值,所以我的问题只是关于保存和检索(可能还有解析)cookie。cookie保存在浏览器上 因此,使用jquery cookie插件可以为您

我需要使用PHP将当前日期保存在cookie中,以便可以从javascript读取

我想知道怎么做,因为在PHP中有很多获取日期的方法和格式,我不确定哪一种在javascript中最容易读取,对于我的实现来说,最重要的事情是我需要能够用纯JS检查cookie创建以来经过了多少时间(实际上它是值)


我已经有了一个readCookie()函数来获取cookie的值,所以我的问题只是关于保存和检索(可能还有解析)cookie。

cookie保存在浏览器上 因此,使用jquery cookie插件可以为您工作


我可能会使用RFC2822格式的日期,在PHP中是
date('r')
。或者使用
microtime()
返回自1970年1月1日以来的毫秒数

然后使用Javascript中的创建一个日期对象,您可以修改该对象并计算经过的时间。

php:

$date = new DateTime();
setcookie("timestamp", $date->getTimestamp());
js:

函数getCookie(c_名称) { 变量i,x,y,ARRcookies=document.cookie.split(“;”);
对于(i=0;我不认为这回答了OP的问题。他在问如何存储cookie的值,以便他可以使用它来处理日期转换。似乎他知道如何读取cookie。getCookie函数可以替换为其他获取cookie数据的函数,即$。cookie很好,我实现了它,没有问题,你能告诉我如何使用c吗与当前日期比较?(查看经过了多少天)@Liso22 Use
var days\u passed=(new date()-date)/86400000
86400000
是一天中的毫秒数。@Barmar如何舍入?~~(new date()-date)/86400000)如果他们想要舍入,请使用
Math.round()
$date = new DateTime();
setcookie("timestamp", $date->getTimestamp());
function getCookie(c_name)
{
    var i,x,y,ARRcookies=document.cookie.split(";");

    for (i=0;i<ARRcookies.length;i++)
    {
        x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));
        y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);
        x=x.replace(/^\s+|\s+$/g,"");
        if (x==c_name)
        {
            return unescape(y);
        }
     }
}

var timestamp = getCookie('timestamp');
var date = new Date(timestamp * 1000);