Javascript 使用Moment.js格式化后接收到不期望的日期

Javascript 使用Moment.js格式化后接收到不期望的日期,javascript,jquery,date,formatting,momentjs,Javascript,Jquery,Date,Formatting,Momentjs,我在格式化日期时遇到问题。我希望收到的日期是“2016年7月12日”,而不是“2016年7月13日”。为什么要将一天添加到我的格式化日期 $("#donationDate").val("2016-07-12 00:00:00.0"); $("#donationDate").val(moment().format('DD-MM-YYYY')); console.log($("#donationDate").val()); 致以最良好的祝愿 Ivan(“#捐赠日期”).va

我在格式化日期时遇到问题。我希望收到的日期是“2016年7月12日”,而不是“2016年7月13日”。为什么要将一天添加到我的格式化日期

$("#donationDate").val("2016-07-12 00:00:00.0");            
$("#donationDate").val(moment().format('DD-MM-YYYY'));
console.log($("#donationDate").val());
致以最良好的祝愿

Ivan(“#捐赠日期”).val(矩()格式('DD-MM-YYYY')

您没有在params中将任何内容传递给
moment()
。因此,默认情况下,它返回与当前时刻对应的矩对象(今天是7月13日)

然后插入一个
.format()
,将力矩对象格式化为
DD-MM-YYYY
。这就是它返回
13-07-2016
的原因

您可能希望执行类似于
moment(2016-07-12 00:00:00.0)的操作。format('DD-MM-YYYY')
返回
12-07-2016
$(“#捐赠日期”).val(moment().format('DD-MM-YYYY')

您没有在params中将任何内容传递给
moment()
。因此,默认情况下,它返回与当前时刻对应的矩对象(今天是7月13日)

然后插入一个
.format()
,将力矩对象格式化为
DD-MM-YYYY
。这就是它返回
13-07-2016
的原因


您可能想执行类似于
moment(2016-07-12 00:00:00.0)的操作。格式化('DD-MM-YYYY')
,返回
12-07-2016

您没有指定时区,所以可能这就是原因。一个日期在一个时区,服务器在另一个时区,然后爆炸。您没有指定时区,所以这可能就是原因。一个日期在一个时区,服务器在另一个时区。