首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何仅使用JavaScript将提示输入添加到本地时间?

如何仅使用JavaScript将提示输入添加到本地时间?
EN

Stack Overflow用户
提问于 2018-11-05 04:07:11
回答 3查看 907关注 0票数 0

我是一个软件工程专业的JavaScript入门课程的学生,我被困在一个作业。这是任务,

在名为alarmTime.html的文件中,使用提示符()查找用户希望午睡多长时间。然后,在文档中写一条语句,告诉用户应该在什么时候发出警报。确保用户的时间是本地的。

我只能将输入添加到用户的本地时间。我不知道我做错了什么,我很难理解该做什么,因为我得到的只是随机数。请看一看我的代码,指出正确的方向。

代码语言:javascript
复制
    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);
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-11-05 04:32:18

原因是因为这个语句document.write(alarm);。Date对象中的setHours方法更新日期实例,并以毫秒为单位返回日期。因此,您将日期对象打印为1970年1月1日以来的毫秒数。要解决这个问题,只需将其替换为document.write(today);

票数 0
EN

Stack Overflow用户

发布于 2018-11-05 04:51:50

问题是无功告警= today.setHours(myHour + parsedInput);

相反,尝试将变量设置为

无功报警= today.getHours();

或更改document.write(警报);改为document.write(今天);

票数 0
EN

Stack Overflow用户

发布于 2018-11-05 06:43:19

Date.now()将给您当前时间(用户本地时间)。添加时间,从提示和您的好:

代码语言:javascript
复制
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);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53148207

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档