[英]How do i subtract time from a datetime-local input?
嗨,我是 JavaScript 的新手,几乎没有经验。 单击按钮将打印输入时间。
我试图做的是将时间减去 9 小时 30 分钟,但我找不到办法。
如果有人可以解释如何做到这一点,这将对我有很大帮助。
我在下面附上了整个 HTML 文档。
function myFunction() { var x = document.getElementById("meeting-time").value; document.getElementById("demo").innerHTML = x; }
<input type="datetime-local" id="meeting-time" name="meeting-time"> <button onclick="myFunction()">click to print time</button> <p id="demo"></p>
您必须使用日期Object。
旁注:如果您有更复杂的操作,包括日期,您可以使用第三方库,如Moments Js
function myFunction() { var x = document.getElementById("meeting-time").value; var date = new Date(x); // parse date as a Date object: TODO: Error handling -> sanitize the input date.setHours(date.getHours() - 9); // change the date object by subtracting hours from the same date object date.setMinutes(date.getMinutes() - 30); // change the date object by subtracting minutes from the same date object document.getElementById("demo").innerHTML = date; }
<input type="datetime-local" id="meeting-time" name="meeting-time"> <button onclick="myFunction()">click to print time</button> <p id="demo"></p>
如果您不想为 javascript-date-Object 及其怪癖而烦恼,那么您可以使用 dayjs: https://day.js.org/
DayJS 允许您在 Javascript 中非常轻松地使用 Dates,例如:
const dayjs = require('dayjs');
let now = dayjs();
console.log(now.format());
这是您可以使用 dayjs 从日期中减去特定时间单位的方法:
dayjs().subtract(7, 'year')
您可以使用以下任何库来满足您的要求,
日期-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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.