我是一个软件工程专业的JavaScript入门课程的学生,我被困在一个作业。这是任务,
在名为alarmTime.html的文件中,使用提示符()查找用户希望午睡多长时间。然后,在文档中写一条语句,告诉用户应该在什么时候发出警报。确保用户的时间是本地的。
我只能将输入添加到用户的本地时间。我不知道我做错了什么,我很难理解该做什么,因为我得到的只是随机数。请看一看我的代码,指出正确的方向。
var howLong = prompt("How long, in hours, do you want to nap for?", 1);
var parsedInput = parseFloat(howLong);
var today = new Date();
var currentTime = today.toLocaleTimeString();
var myHour = today.getHours(currentTime);
var alarm = today.setHours(myHour + parsedInput);
document.write(alarm);发布于 2018-11-05 04:32:18
原因是因为这个语句document.write(alarm);。Date对象中的setHours方法更新日期实例,并以毫秒为单位返回日期。因此,您将日期对象打印为1970年1月1日以来的毫秒数。要解决这个问题,只需将其替换为document.write(today);
发布于 2018-11-05 04:51:50
问题是无功告警= today.setHours(myHour + parsedInput);
相反,尝试将变量设置为
无功报警= today.getHours();
或更改document.write(警报);改为document.write(今天);
发布于 2018-11-05 06:43:19
Date.now()将给您当前时间(用户本地时间)。添加时间,从提示和您的好:
let napTime = prompt('how many minutes do you want to nap?');
let alarmTime = new Date(Date.now()+napTime*60000);
//if you want to get HOURS instead of minutes
//let alarmTime = new Date(Date.now()+napTime*3600000);
//print it out. toLocale...() functions return local FORMAT of the datetime,
//they dont deal with timezones
document.write('set alarm to '+alarmTime.toLocaleTimeString('en-US'));
console.log(alarmTime);https://stackoverflow.com/questions/53148207
复制相似问题