Javascript 如何从datetime本地输入中减去时间?
嗨,我是JavaScript的新手,在这方面几乎没有经验。单击按钮将打印输入时间 我想做的是把时间减去9小时30分钟,但我找不到办法 如果有人能解释一下怎么做,我会很有帮助 我在下面附上了整个HTML文档Javascript 如何从datetime本地输入中减去时间?,javascript,html,Javascript,Html,嗨,我是JavaScript的新手,在这方面几乎没有经验。单击按钮将打印输入时间 我想做的是把时间减去9小时30分钟,但我找不到办法 如果有人能解释一下怎么做,我会很有帮助 我在下面附上了整个HTML文档 函数myFunction(){ var x=document.getElementById(“会议时间”).value; document.getElementById(“demo”).innerHTML=x; } 单击以打印时间 您必须使用该对象 将输入作为日期对象传递 根据需要通过减去
函数myFunction(){
var x=document.getElementById(“会议时间”).value;
document.getElementById(“demo”).innerHTML=x;
}
单击以打印时间
您必须使用该对象
函数myFunction(){
var x=document.getElementById(“会议时间”).value;
var date=new date(x);//将日期解析为日期对象:TODO:错误处理->清理输入
date.setHours(date.getHours()-9);//通过从同一日期对象中减去小时来更改日期对象
date.setMinutes(date.getMinutes()-30);//通过从同一日期对象中减去分钟来更改日期对象
document.getElementById(“demo”).innerHTML=日期;
}
单击以打印时间
如果您不想麻烦处理javascript日期对象及其怪癖,那么您可以使用dayjs:
DayJS允许您在Javascript中非常轻松地使用日期,例如:
const dayjs = require('dayjs');
let now = dayjs();
console.log(now.format());
这就是如何从带有dayjs的日期中减去特定的时间单位:
dayjs().subtract(7, 'year')
您可以使用以下任意库来实现您的需求
- moment.js()
- 卢克逊()
- 日期fns()
- Day.js()
var sub = require('date-fns/sub');
// Subtract the following duration from 15 June 2017 15:29:20
const result = sub(new Date(2017, 5, 15, 15, 29, 20), {
years: 2,
months: 9,
weeks: 1,
days: 7,
hours: 5,
minutes: 9,
seconds: 30
})
//=> Mon Sep 1 2014 10:19:50
对这正是我想要的。很抱歉我没有及时回复。谢谢你提交答案。当我必须处理日期和时间时,这确实会对我有所帮助time@Navneeth非常感谢。感谢您的建议如果您喜欢这个答案,您可以向上投票:P dayjs以其超小的捆绑包大小而闻名:)