如何编写上次访问日期并使用Javascript中的alert()显示它?

时间:2017-02-09 03:59:25

标签: javascript html date time alert

我如何编码"上次访问日期"并使用alert()方法显示它?

这是JS代码:



function setCookie(cname,cvalue,exdays) {
	var d = new Date();
	d.setTime(d.getTime() + (exdays*24*60*60*1000));
	var expires = "expires=" + d.toGMTString();
	document.cookie = cname+ "=" + cvalue +"; " + expires;
}
function getCookie(cname) {
	var name = cname + "=";
	var ca = document.cookie.split(';');
	for(var i=0; i<ca.length; i++) {
		var c = ca[i];
		while (c.charAt (0)==' ') {
			c = c.substring(1);
		}
		if (c.indexOf(name) == 0) {
			return c.substring(name.length, c.length);
		}
	}
	return "";
}

function checkCookie(){
	var username = getCookie("username");
	if (username != null && username != "")
	{
		alert("Welcome again " + username);
	}
	else
	{
		username=prompt("Please enter your name:","");
		if (username != null && username != "")
		{
			setCookie("username",username,365);
		}
	}
}
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:0)

如果您首先使用JSON对内容进行编码,则可以在cookie中存储包括日期,布尔标志和对象在内的任何内容。当您想阅读时,只需使用parse() wiz对其进行解码即可。 stringify()的倒数。以下是我在我的空闲时间

中根据您的代码创建的示例
 function setCookie(cname,cvalue,exdays) {
  var d = new Date();
  cvalue = JSON.stringify({username:cvalue,visited:true,visitedOn:d.getTime()});
  d.setTime(d.getTime() + (exdays*24*60*60*1000));
  var expires = "expires=" + d.toGMTString();
  document.cookie = cname+ "=" + cvalue +"; " + expires;
}

function getCookie(cname) {
  var name = cname + "=";
  var ca = document.cookie.split(';');
  for(var i=0; i<ca.length; i++) {
    var c = ca[i];
    while (c.charAt (0)==' ') {
        c = c.substring(1);
    }
    if (c.indexOf(name) == 0) {
        var c = c.substring(name.length, c.length);
        return JSON.parse(c);

    }
  }
  return "";
}

function checkCookie(){
  var user = getCookie("username");

  if (user.visited)
  {
    alert("Welcome again " + user.username + " you visited here on " +  new Date(user.visitedOn).toTimeString() );
    setCookie("username",user.username,365); //update cookie for correct last arrived time
  }
  else
  {
    username=prompt("Please enter your name:","");
    if (username != null && username != "")
    {
        setCookie("username",username,365);

    }
  }
}

checkCookie();

答案 1 :(得分:0)

只需使用localStorage API即可。 http://caniuse.com/#search=localstorage

https://developer.mozilla.org/en/docs/Web/API/Window/localStorage

所有基本API:

localStorage.setItem('foo', 'value'); // set/update data
localStorage.getItem('foo'); // returns 'value' or null if not available
localStorage.removeItem('foo'); // removes value from storage

对于日期管理,请使用momentjs.com

http://momentjs.com/docs/#/displaying/from/

玩得开心。