Javascript moment.js-从周日减去1天,不按预期工作
我有一个力矩对象,我想从中减去1天。原始日期显示为2018年7月15日星期日12:00:00,我想从中减去1天,以便输出为2018年7月14日星期六12:00:00 如果我使用Javascript moment.js-从周日减去1天,不按预期工作,javascript,momentjs,Javascript,Momentjs,我有一个力矩对象,我想从中减去1天。原始日期显示为2018年7月15日星期日12:00:00,我想从中减去1天,以便输出为2018年7月14日星期六12:00:00 如果我使用subtract()函数,这看起来应该很容易,但是它将日期更改为即将到来的星期六,而不是7月15日之前的星期六。我想这与7月15日开始的一周有关 这似乎只是我用星期天作为开始日期时的一个问题。我怎样才能使它按我需要的方式工作 这是我的JS: var timeFormat = 'dddd h:mma'; var origin
subtract()
函数,这看起来应该很容易,但是它将日期更改为即将到来的星期六,而不是7月15日之前的星期六。我想这与7月15日开始的一周有关
这似乎只是我用星期天作为开始日期时的一个问题。我怎样才能使它按我需要的方式工作
这是我的JS:
var timeFormat = 'dddd h:mma';
var originalDate = moment("sunday 12:00:00pm", timeFormat);
var previousDay = moment(originalDate).subtract(1, 'days').format(timeFormat);
var newDate = moment(previousDay+"12:00:00pm", timeFormat);
$(".openTime span").text(originalDate);
$(".newOpenTime span").text(newDate);
这将输出太阳2018年7月15日12:00:00
作为原始日期
和周六2018年7月21日12:00:00
作为减去1天的日期。如您所见,出于某种原因,新日期现在是7月21日星期六
这里有一个JSFiddle链接:问题是您使用格式化字符串来创建
newDate
。字符串表示如下内容:
“周六下午12:00:00”。MomentJs不知道周六是什么意思,所以只知道下一个周六,也就是7月21日
如果您只需使用前一天的时刻
并对其进行格式化,它就可以工作:
固定: