【发布时间】:2019-02-15 20:29:44
【问题描述】:
我有以下 new Date() 代码以及一个将 new 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>
但是,这总是返回比正确日期晚一天的日期。有人可以解释为什么会发生这种情况以及如何解决吗?我知道我可以简单地将 1 添加到 getDate():
var day = date.getDate() +1;
这似乎不正确...有什么建议吗?
【问题讨论】:
标签: angularjs date servicenow