javascript - 如何从 jQuery UI Datepicker 语言文件中读取月份名称?

标签 javascript jquery jquery-ui-datepicker

我在网络应用程序中使用 jQuery datepicker,并且允许最终用户选择他们的语言。对于日期选择器,我正在加载区域设置文件(翻译文件),一切正常。

我的问题是:

我如何从 jQuery 数据选择器语言文件中读取和使用月份名称、日期名称等。例如 datepicker-de.js 文件如下所示:

/* German initialisation for the jQuery UI date picker plugin. */
/* Written by Milian Wolff (mail@milianw.de). */
(function( factory ) {
    if ( typeof define === "function" && define.amd ) {

        // AMD. Register as an anonymous module.
        define([ "../datepicker" ], factory );
    } else {

        // Browser globals
        factory( jQuery.datepicker );
    }
}(function( datepicker ) {

datepicker.regional['de'] = {
    closeText: 'Schließen',
    prevText: '<Zurück',
    nextText: 'Vor>',
    currentText: 'Heute',
    monthNames: ['Januar','Februar','März','April','Mai','Juni',
    'Juli','August','September','Oktober','November','Dezember'],
    monthNamesShort: ['Jan','Feb','Mär','Apr','Mai','Jun',
    'Jul','Aug','Sep','Okt','Nov','Dez'],
    dayNames: ['Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag'],
    dayNamesShort: ['So','Mo','Di','Mi','Do','Fr','Sa'],
    dayNamesMin: ['So','Mo','Di','Mi','Do','Fr','Sa'],
    weekHeader: 'KW',
    dateFormat: 'dd.mm.yy',
    firstDay: 1,
    isRTL: false,
    showMonthAfterYear: false,
    yearSuffix: ''};
datepicker.setDefaults(datepicker.regional['de']);

return datepicker.regional['de'];

}));

我想读取月份名称和日期名称并在另一个脚本中使用它。为所有日期选择器语言创建一个新的对象/文件并不是一种选择,

谢谢

最佳答案

您可以使用 date toLocaleString 方法

下面的示例均按照问题采用 de 语言环境

长月份名称

const longmonths = Array.from({length:12}, (_, m) => 
    new Date(2019, m, 1).toLocaleString('de', {month:'long'})
);

console.log(longmonths);

短短几个月

const shortmonths = Array.from({length:12}, (_, m) => 
    new Date(2019, m, 1).toLocaleString('de', {month:'short'})
);

console.log(shortmonths);

注意:对于星期几,我选择了 2019 年 7 月,因为 2019 年 7 月 1 日是星期一

一周中的长日(周日 -> 周六)

const longdow = Array.from({length:7}, (_,d) => 
    new Date(2019, 6, d).toLocaleString('de', {weekday:'long'})
);

console.log(longdow);

一周中的短日(星期日 -> 星期六)

const shortdow = Array.from({length:7}, (_,d) => 
    new Date(2019, 6, d).toLocaleString('de', {weekday:'short'})
);

console.log(shortdow);

关于javascript - 如何从 jQuery UI Datepicker 语言文件中读取月份名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57605889/

相关文章:

javascript - 突出显示 <TR> 整周日期选择器

javascript - 文本区域上的 ng-model 不起作用

javascript - 如何在 Jquery 中选择 html 元素的特定实例?

javascript - 未捕获错误: Invalid Selector - #jqxCheckBox! 请检查使用的ID或CSS类名称是否正确

javascript - 更改日期选择器语言不起作用

jquery datepicker允许日期小于minDate

javascript - 防止在输入范围 html 元素上发生 mousedown 事件,并且仍然允许用户拖动 slider

javascript - 按照教程时 react 错误

javascript - JSON : Convert Json For Chart CanvasJS

javascript - 我的代码在 IE8 中真的很慢。但在 Safari、firefox、chrome 中效果很好