我正在使用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
我知道我可以在tostring()或类似的东西中指定formatstring:
(Date.today().toString(Date.CultureInfo.formatPatterns.shortDate)
但我更喜欢使用d选项。
感谢您的帮助, 皮尼。
答案 0 :(得分:2)
这里有几个问题:
1)wiki文档与http://code.google.com/p/datejs/主页上的文档不同,主页面描述了您想要作为自定义说明符的说明符,而不是标准说明符。维基上的文档似乎表明使用多个字符应该触发自定义模式,但这不会发生,因为您也指出。我没有看到任何报告这个错误,所以也许你想自己这样做并收到回复通知: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>
如果您报告此问题,可能会提出此问题,因为包含仅位于“test”文件夹中的文件以获得您想要的功能似乎不可靠。