devextreme dxdatebox中的cldr波斯日期

Posted

技术标签:

【中文标题】devextreme dxdatebox中的cldr波斯日期【英文标题】:cldr persian date in devextreme dxdatebox 【发布时间】:2017-04-21 12:55:31 【问题描述】:

我在 devextreme 中使用 dxdatebox。在询问后,我终于在 dxdatebox 中实现了德国日历。现在我想要一个波斯日历,我已经尝试过了:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>DevExtreme Sample</title>
    <link rel="stylesheet" type="text/css" href="~/css/dx.common.css" />
    <link rel="stylesheet" type="text/css" href="~/css/dx.light.css" />

    <script type="text/javascript" src="~/js/jquery-2.2.3.min.js"></script></script>
    <script type="text/javascript" src="~/js/cldr.min.js"></script>
    <script type="text/javascript" src="~/js/cldr/event.min.js"></script>
    <script type="text/javascript" src="~/js/cldr/supplemental.min.js"></script>
    <script type="text/javascript" src="~/js/globalize.min.js"></script>
    <script type="text/javascript" src="~/js/globalize/message.min.js"></script>
    <script type="text/javascript" src="~/js/globalize/number.min.js"></script>
    <script type="text/javascript" src="~/js/globalize/currency.min.js"></script>
    <script type="text/javascript" src="~/js/globalize/date.min.js"></script>
    <script type="text/javascript" src="~/js/dx.all.js"></script>

    @*<script type="text/javascript" src="~/js/localization/dx.all.de.js"></script>*@

</head>

<body>
    <div id="btnContainer"></div>
    <div id="dateContainer"></div>
    <script>

        $.when(
              $.getJSON("../cldr/main/fa/ca-persian.json"),
              $.getJSON("../cldr/main/fa/numbers.json"),
              $.getJSON("../cldr/main/fa/currencies.json"),
              $.getJSON("../cldr/supplemental/likelySubtags.json"),
              $.getJSON("../cldr/supplemental/timeData.json"),
              $.getJSON("../cldr/supplemental/weekData.json"),
              $.getJSON("../cldr/supplemental/currencyData.json"),
              $.getJSON("../cldr/supplemental/numberingSystems.json")
            ).then(function () 
                return [].slice.apply(arguments, [0]).map(function (result) 
                    return result[0];
                );
            ).then(
                Globalize.load
            ).then(function () 

                Globalize.locale('fa');
                $('#dateContainer').dxDateBox(
                    value: new Date(),   
                );
            );
    </script>

</body>
</html>

但在控制台中我收到此错误:Unsupported "feature":"Julian day patterng".

如何将公历转换为儒略历?

【问题讨论】:

我也遇到了同样的问题,请问您的问题解决了吗? 【参考方案1】:

不知道你的框架,但更普遍

有了这个:https://github.com/kbwood/calendars 你可以这样做:

var d = $.calendars.newDate(1385, 6, 2, 'persian', 'fa');
console.log("Persian date: "+d.toLocaleString());
var e = d.toJSDate();
console.log(e);

【讨论】:

它不工作,因为我仍然有同样的错误。 详情请看:keith-wood.name/calendars.html#convert 我正在使用 globlize.js 和 cldr.js 及其依赖项。在 globlize 文件夹中,我有一个 js 文件名 date,js.当我将 cldr-persian 与 date.js 一起使用时,我得到了上面的错误。【参考方案2】:

您不能使用 globalize.js,因为它不支持 fa-IR 语言环境。 您必须切换到 INTL 方法: https://js.devexpress.com/Documentation/Guide/Common/Localization/#Localize_Dates_Numbers_and_Currencies/Using_Intl

【讨论】:

以上是关于devextreme dxdatebox中的cldr波斯日期的主要内容,如果未能解决你的问题,请参考以下文章

DevExtreme jquery 中的组件嵌套

如何比较两个单元格字段并验证 devextreme 数据网格中的一个条件

CLD汇编指令

Ionic2集成DevExtreme

Cloudinary Nuxt 模块:未知元素 cld-image

如何用Selenium C#从Devextreme下拉菜单中选择一个值?