我有下面的代码。我在这一行 `var datemsg = nameOfMonths[date.getMonth()] + ""+ date.getDate(); 中收到未定义或错误。
如果我只是使用 var date = new Date();
值将打印在 HTML 页面上。但是使用我打算使用下面的代码使用 getCookie("date")
从浏览器获取日期。它给了我一个错误,并且不会打印日期和时间。
<body onload="setsaveCookie(); loadSaveCookies()">
<h1 class="header">Welcome your visit started on <span id="date"></span> at <span id="time"></span> <span id="ampm"></span></h1>
function setsaveCookie() {
var date = new Date();
setCookie("date", date, 30);
getDate();
}
function setCookie(cookieName, cookieValue, expires) {
var date = new Date();
date.setTime(date.getTime() + (expires * 24 * 60 * 60 * 1000));
var dayexpires = "expires=" + date.toGMTString();
document.cookie = cookieName + "=" + cookieValue + ";" + dayexpires + ";path=/";
var msg = "";
}
function getDate() {
var date = new Date();
var nameOfMonths = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "July", "Aug", "Sep", "Oct", "Nov", "Dec"]
var ampm = "";
var date = getCookie("date");
var twelvehourtime = "";
var datemsg = nameOfMonths[date.getMonth()] + " " + date.getDate();
document.getElementById("date").innerHTML = datemsg;
}
function getCookie(cookieName) {
var name = cookieName + "=";
var decodedCookie = decodeURIComponent(document.cookie);
var ca = decodedCookie.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 "";
}
最佳答案
这是 getDate 函数的修订版本。
function getDate() {
var nameOfMonths = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "July", "Aug", "Sep", "Oct", "Nov", "Dec"]
var ampm = "";
var date = getCookie("date");
var dt = new Date(date);
var twelvehourtime = "";
var datemsg = nameOfMonths[dt.getMonth()] + " " + dt.getDate();
document.getElementById("date").innerHTML = datemsg;
}
关于javascript - 使用 cookie 获取月份、日期和时间。但是,它们没有打印,而且我的日期未定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42677022/