Javascript日期在每月的第一天停止工作。

Javascript日期在每月的第一天停止工作。,javascript,Javascript,我有一个日期选择器,可以自动填写昨天表格上输入的日期,但在每月的第一天,它就变成空白,无法填充日期。我想我的代码缺少了一点,它告诉我如果是第一个月,就转到前一个月。我想不出来。谢谢你的帮助 var today = new Date(); $(document).ready( function() { var now = new Date(); var month = (now.getMonth() + 1); var day = (now.g

我有一个
日期选择器
,可以自动填写昨天表格上输入的日期,但在每月的第一天,它就变成空白,无法填充日期。我想我的代码缺少了一点,它告诉我如果是第一个月,就转到前一个月。我想不出来。谢谢你的帮助

var today = new Date();
$(document).ready( function() {
    var now = new Date();
    var month = (now.getMonth() + 1);               
    var day = (now.getDate() - 1);
    if(month < 10) 
        month = "0" + month;
    if(day < 10) 
        day = "0" + day;
    var today = now.getFullYear() + '-' + month + '-' + day;
    $('#date').val(today);
});
var today=新日期();
$(文档).ready(函数(){
var now=新日期();
var month=(now.getMonth()+1);
var day=(now.getDate()-1);
如果(月<10)
月份=“0”+月份;
如果(第10天)
day=“0”+天;
var today=now.getFullYear()++'-'+月+'-'+日;
$('日期').val(今天);
});
没有一个月的第0天。试试这个:

var now = new Date(today.getFullYear(), today.getMonth(), today.getDate()-1);
通过这样做,您正在创建一个新的日期对象,日期为。。。零这不会破坏它吗?不。Date构造函数非常聪明,可以将当前月份的第0天解释为上个月的最后一天

其他一切都应该正常,只要去掉
var day=…
行上的
-1

var today = new Date();
$(document).ready( function() {
    var now = new Date(today.getFullYear(), today.getMonth(), today.getDate()-1);
    var month = (now.getMonth() + 1);
    var day = now.getDate();
    if(month < 10) 
        month = "0" + month;
    if(day < 10) 
        day = "0" + day;
    var result = now.getFullYear() + '-' + month + '-' + day;
    $('#date').val(result);
});
var today=新日期();
$(文档).ready(函数(){
var now=新日期(today.getFullYear()、today.getMonth()、today.getDate()-1);
var month=(now.getMonth()+1);
var day=now.getDate();
如果(月<10)
月份=“0”+月份;
如果(第10天)
day=“0”+天;
var result=now.getFullYear()++'-'+月+'-'+日;
$('日期').val(结果);
});
没有一个月的第0天。试试这个:

var now = new Date(today.getFullYear(), today.getMonth(), today.getDate()-1);
通过这样做,您正在创建一个新的日期对象,日期为。。。零这不会破坏它吗?不。Date构造函数非常聪明,可以将当前月份的第0天解释为上个月的最后一天

其他一切都应该正常,只要去掉
var day=…
行上的
-1

var today = new Date();
$(document).ready( function() {
    var now = new Date(today.getFullYear(), today.getMonth(), today.getDate()-1);
    var month = (now.getMonth() + 1);
    var day = now.getDate();
    if(month < 10) 
        month = "0" + month;
    if(day < 10) 
        day = "0" + day;
    var result = now.getFullYear() + '-' + month + '-' + day;
    $('#date').val(result);
});
var today=新日期();
$(文档).ready(函数(){
var now=新日期(today.getFullYear()、today.getMonth()、today.getDate()-1);
var month=(now.getMonth()+1);
var day=now.getDate();
如果(月<10)
月份=“0”+月份;
如果(第10天)
day=“0”+天;
var result=now.getFullYear()++'-'+月+'-'+日;
$('日期').val(结果);
});

你是对的,你不能只是
-1
日期,然后期望它返回上一个日期。您需要使用
-1
调用
setDate()
。这将更新日期对象

var today = new Date();
today.setDate(today.getDate()-1);
// today is now yesterday

您是正确的,您不能只
-1
日期,然后期望它返回上一个日期。您需要使用
-1
调用
setDate()
。这将更新日期对象

var today = new Date();
today.setDate(today.getDate()-1);
// today is now yesterday

这仍然是一个空白,我们尝试了几种不同的方法。你能把完整的代码按照你的想法写出来吗?谢谢你。这仍然是一个空白,我尝试了几种不同的方法。你能把完整的代码按照你的想法写出来吗?谢谢你。这仍然是一个空白,我尝试了几种不同的方法。你能把完整的代码按照你的想法写出来吗?谢谢你,没什么好高兴的。对不起,为什么不呢?现在发生了什么事?。。。您还没有包括jQuery。无论如何,重复的变量名没有帮助。谢谢你的帮助:)这仍然是一个空白,我尝试了几种不同的方法。你能把完整的代码按照你的想法写出来吗?谢谢你,没什么好高兴的。对不起,为什么不呢?现在发生了什么事?。。。您还没有包括jQuery。无论如何,重复的变量名没有帮助。谢谢你的帮助:)