【问题标题】:Format date based on the culture using datejs plugin使用 datejs 插件根据文化格式化日期
【发布时间】:2011-04-16 14:40:15
【问题描述】:

我正在使用 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() 或类似的东西中指定格式字符串:

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

但我更喜欢使用 d 选项。

感谢您的帮助, 皮尼。

【问题讨论】:

    标签: javascript jquery jquery-plugins datejs


    【解决方案1】:

    这里有几个问题:

    1) wiki 文档与 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>
    

    如果您报告问题,您可能会提出此问题,因为包含仅位于“测试”文件夹中的文件以获得所需功能似乎不可靠。

    【讨论】:

      猜你喜欢
      • 2019-09-27
      • 1970-01-01
      • 2023-03-29
      • 2015-07-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多