Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从datetime本地输入中减去时间?_Javascript_Html - Fatal编程技术网

Javascript 如何从datetime本地输入中减去时间?

Javascript 如何从datetime本地输入中减去时间?,javascript,html,Javascript,Html,嗨,我是JavaScript的新手,在这方面几乎没有经验。单击按钮将打印输入时间 我想做的是把时间减去9小时30分钟,但我找不到办法 如果有人能解释一下怎么做,我会很有帮助 我在下面附上了整个HTML文档 函数myFunction(){ var x=document.getElementById(“会议时间”).value; document.getElementById(“demo”).innerHTML=x; } 单击以打印时间 您必须使用该对象 将输入作为日期对象传递 根据需要通过减去

嗨,我是JavaScript的新手,在这方面几乎没有经验。单击按钮将打印输入时间

我想做的是把时间减去9小时30分钟,但我找不到办法

如果有人能解释一下怎么做,我会很有帮助

我在下面附上了整个HTML文档

函数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()
    日期fns示例:

    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以其超小的捆绑包大小而闻名:)