【问题标题】:Client's first day of the week客户一周的第一天
【发布时间】:2011-09-19 16:17:33
【问题描述】:

是否可以使用纯 javascript 来确定客户端机器的区域设置? 我需要得到一周的第一天。是星期天还是星期一。

【问题讨论】:

  • 这应该是您在操作系统上设置的一些设置吗?以前从未听说过这样的设置。
  • 是的。我不知道其他人,但在 Windows 中有一个
  • 如果谷歌没有为谷歌日历做这件事,我想你没有办法访问它。
  • 有谁知道 Flash 是不是很酷?

标签: javascript date regional-settings


【解决方案1】:

我无法为您找到任何开箱即用的解决方案,但如果您想继续努力,您可能会发现以下想法很有用:

您可以使用 JavaScript 中的以下函数之一检测浏览器的区域设置:

http://www.techrepublic.com/article/detect-foreign-language-support-using-javascript/5069931

然后,您必须将区域设置(语言)映射到一周的首选开始日期。您可以使用支持 I18N 的本地(服务器端)脚本语言在单独的源文件中创建 JavaScript 数组:

How to determine the first day of week in python

(显示 Java 和 Python 示例)


作为替代方案,JavaScript 框架 YUI 提供了丰富的国际化框架。虽然它对于您的需求可能有点繁重,而且我找不到可以为您提供一周第一天的功能,但它可能对您的应用程序派上用场:

http://yuilibrary.com/yui/docs/intl/

您可以自己将一周中的第一天属性添加到资源包(或使用 tem 记录工单)。以法语资源包为例:

http://yui.yahooapis.com/combo?3.3.0/build/datatype/lang/datatype-date_fr-FR.js


还有一个支持 i18n 的 jQuery 插件:

http://plugins.jquery.com/project/jquery_i18n_properties

但它似乎没有附带可用的资源包。

【讨论】:

    【解决方案2】:

    图书馆datejs 可以做这样的事情。还要检查this discussion

    【讨论】:

    • 不,datejs 无法为您提供特定于语言环境的一周的第一天。
    【解决方案3】:

    唯一确定的方法是询问访客。

    <fieldset id="firstdayofweekFieldset">
    <legend>First Day Of the Week</legend>
    <label>Sunday <input type="radio" name="firstdayofweek" value="0" checked></label>
    <label>Monday <input type="radio" name="firstdayofweek" value="1" ></label>
    </fieldset>
    

    【讨论】:

    • 天啊,不是在二十一世纪!
    猜你喜欢
    • 2010-11-09
    • 1970-01-01
    • 1970-01-01
    • 2021-07-21
    • 2020-07-17
    • 1970-01-01
    • 2012-11-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多