2

我正在使用 Knockout 构建一个应用程序,该应用程序可在不同阶段处理大量日期。当然,他们最后都有这样的废话:

T05:00:00.000Z

有没有一种简洁的方法可以让所有的日期都是简单的年月日,而不是求助于我自己的串联?我知道我可以这样做:

getYear() . getMonth() + 1 . getDate()

...但在我的情况下这会变得笨拙,因为我的代码中有几个地方正在吐出日期

是否有一些干净的功能可以给我一个简单的约会?也许对 Date 原型进行某种调整?

我应该提一下,因为这是一个 Knockout 应用程序,所以日期存储在 observables 中。问题是确保当我将日期保存为 JSON 时,日期的格式会更清晰。

4

1 回答 1

3

This is where the concept of abstractions really comes into play. Since you're really only dealing with 3 simple functions that you don't want to repeat over and over again in your code, just write one helper function and then use that in your code:

function getFormattedDate() {
    return getYear() . getMonth() + 1 . getDate();
}

Then whenever you need the date, run:

var d = getFormattedDate();

or

alert(getFormattedDate());

or

document.getElementById("date").innerHTML = "Today's date is " + getFormattedDate();

To keep your getFormattedDate function out of the global scope, and be sure you don't conflict with another implementation of getFormattedDate, use namespacing:

var myUtils = {
    getFormattedDate: function() {
        return getYear() . getMonth() + 1 . getDate();
    }
};

then invoke it as:

alert( myUtils.getFormattedDate() );
于 2012-04-12T03:25:15.410 回答