2011-04-16 34 views
1

我正在使用datejs庫,我有日期格式的問題。 我需要打印到今天沒有小時的屏幕。 當我運行這一行:基於使用datejs插件的文化的格式日期

Date.today().toString('d') 

我得到的日期的日期部分(即15)。

如果你看看他們的文檔,他們指定'd'作爲標準日期應該在文化上展開 - 這正是我想要的。 http://code.google.com/p/datejs/wiki/FormatSpecifiers

我希望它打印MM/DD/YYYY如果我使用

<script type="text/javascript" src="/scripts/date.js"></script> 

而如果我使用的EN-GB

<script type="text/javascript" src="/scripts/date-en-GB.js"></script> 

打印DD/mm/yyyy

我知道我可以在tostri中指定格式字符串ng()或類似的東西:

(Date.today().toString(Date.CultureInfo.formatPatterns.shortDate) 

但我更喜歡使用d選項。

感謝您的幫助, 皮尼。

回答

1

這裏有幾個問題:

1)維基文檔從在http://code.google.com/p/datejs/主頁上的文檔主要頁面描述要爲自定義說明符,而不是標準之一,符不同。 wiki上的文檔似乎暗示使用多個字符應該會觸發自定義模式,但這並不會像您所指出的那樣發生。我沒有看到任何錯誤報告,所以也許你想自己這樣做,並得到通知的答覆:http://code.google.com/p/datejs/issues/list

2)你應該能夠做Date.today().toShortDateString();,但似乎有一個錯誤在這裏(在所有文化檔案)。源列表:

Date.prototype.toShortDateString=function(){ 
    return this.toString(Date.CultureInfo.formatPatterns.shortDatePattern); 
}; 

...但是格式圖案應該是Date.CultureInfo.formatPatterns.shortDate(或圖案應不同或利用同義詞來定義)。見http://code.google.com/p/datejs/issues/detail?id=116

3)我找到的唯一一個可以通過縮寫字母獲得對「自定義」說明符的支持的還包括test/scripts/date-functions.js文件。

<script type="text/javascript" src="build/date-en-US.js"></script> 
<script type="text/javascript" src="test/scripts/date-functions.js"></script> 
<script> 
alert(Date.today().dateFormat('d')); 
</script> 

如果您報告的問題,因爲它似乎不可靠,包括位於只能在「測試」文件夾,以獲得您想要的功能文件時可能會提起這事。

+0

感謝您的支持!爲什麼它如此複雜! – Matt 2017-06-06 02:22:55