使用datejs插件基于区域性格式化日期



我正在使用datejs库,我有一个日期格式的问题。我需要打印到屏幕上今天的日期没有小时。当我运行这一行时:

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

我正在获取日期的日期部分(i。e 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选项。

谢谢你的帮助,扎。

这里有几个问题:

1) wiki文档与http://code.google.com/p/datejs/主页上的文档的不同之处在于,主页将您想要的说明符描述为自定义说明符,而不是标准说明符。wiki上的文档似乎建议使用多个字符应该触发自定义模式,但这并不像您所指示的那样发生。我没有看到任何bug报告这个,所以也许你想自己这样做,并得到响应通知: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>

如果您报告这个问题,您可能会提出这个问题,因为仅仅包含位于"测试"文件夹中的文件来获得您想要的功能似乎是不可靠的。

最新更新