【问题标题】:Getting localized day of week获取本地化的星期几
【发布时间】:2012-05-26 05:10:08
【问题描述】:

我想在 JavaScript 中获取星期几的名称,本地化为用户当前的语言;最好是比我现在使用的更好的东西:

var weekDays = [];
var d = new Date();

while(d.getDay() > 0) {
    d.setDate(d.getDate() + 1);
}

while(weekDays.length < 7) {
    weekDays.push(d.toLocaleDateString().match(/\w+/)[0]);
    d.setDate(d.getDate() + 1);
}

有没有简单的方法来做到这一点?还是我只需要为尽可能多的语言环境提供日期字符串?

【问题讨论】:

  • 我想不出任何其他方法,但如果您只是存储星期几,您可以将日期初始化为星期一,而不是通过第一个 while 循环。然后循环遍历一周中的每一天并将这些值缓存在 weekdays 数组中。
  • 我想警告您toLocaleDateString 似乎并不可靠。我使用的是荷兰语版本的 Windows 和 Chrome,但我得到了一系列英文工作日名称。

标签: javascript date localization


【解决方案1】:

我用Date.toLocaleString(),例如:

d = new Date();
d.toLocaleString(window.navigator.language, {weekday: 'long'});

d.toLocaleString('sk-SK', {weekday: 'short'});

【讨论】:

  • 嗯!尽管我在问题中使用了它,但我从不知道它需要争论!谢谢。
【解决方案2】:

看看 datejs,它很好地处理了本地化。它带有许多全球化设置。您只需加载当前 CultureInfo 的全球化设置,而 datejs 会负责其余的工作。

Javascript Date Localization

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-10-22
    • 2012-01-04
    • 1970-01-01
    • 2014-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-07
    相关资源
    最近更新 更多