新日期总是返回1天

问题描述 投票:0回答:1

我有以下代码用于新的Date()以及将新Date()格式化为更容易消化的函数:

data.onbCase.push({
                    first_name: onbCase.getDisplayValue('subject_person.first_name'),
                    last_name: onbCase.getDisplayValue('subject_person.last_name'),
                    start_date: formatDate(new Date(onbCase.getDisplayValue('hr_profile.employment_start_date')))   
                });

function formatDate(date) {

    var monthNames = [
        "January", "February", "March",
        "April", "May", "June", "July",
        "August", "September", "October",
        "November", "December"
    ];

    var day = date.getDate(), 
            monthIndex = date.getMonth(),
            year = date.getFullYear();

    return new Date(monthNames[monthIndex].substr(0,3) + ' ' + day + ', ' + year);
}

      <td ng-show="c.options.start_date" title="{{item.start_date}}">{{item.start_date | date:'mediumDate'}}</td>

但是,这始终返回比正确日期晚一天的日期。有人可以解释为什么会发生这种情况以及如何解决它?我知道我可以简单地在getDate()中添加1:

var day = date.getDate() +1;

这似乎不正确但是......任何建议?

angularjs date servicenow
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.