繁体   English   中英

JS 从日期输入减去 1 天

[英]JS minus 1 day from date input

无需担心时区或其他任何事情,从 JS 中我的表单上的 input=date 到 -1 天的最快和最好的方法是什么,隐蔽为字符串为 YYYY-MM-DD 以便它可以被解析并用于发布到 API ETC? 在此处输入图像描述

从我的 date_to_selector.val() 中可以看到,我的 date_to var 打印字符串“YYYY-MM-DD” - 我需要在新变量中从该字符串中减去 1 天

这是来自日期输入“Date To”的代码:

<input type="date" name="date_to" />
var date_to_selector         = $(this).parent().find("input[name=date_to]");
var date_to = date_to_selector.val();

我已经对此进行了研究,许多人建议 moment.JS 或 toISOString 但我不想担心时区等。

您可以获取输入的valueAsDate属性,然后将其日期设置为所选日期减去 1 的日期:

 $('input[type="date"]').change(function(){ const date = $(this).prop('valueAsDate') date.setDate(date.getDate() - 1) const res = date.toLocaleDateString('en-US', {year: 'numeric', month: '2-digit', day: '2-digit'}).split('/').join('-'); console.log(res) })
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <input type="date" name="date_to" />

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM