我如何从 jQuery UI 日期选择器语言文件中读取月份名称?

How can i read the month names from a jQuery UI Datapicker language file?

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

我的问题是:

我如何从 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'];

}));

我想读取 monthNames 和 daynames 并在另一个脚本中使用它。为所有日期选择器语言提供新的 object/file 不是一种选择,

谢谢

$(function() {
  $("#datepicker").datepicker();   
}); 

alert($.datepicker.formatDate("MM", "datepicker"));

您可以使用 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);

试试这个

获取 DayNames 和 MonthNames 数组

var monthName = $.datepicker.regional["de"].monthNames;
var dayName = $.datepicker.regional["de"].dayNames;

根据日期获取月名和日名。

var date = new Date();
var monthName = $.datepicker.regional["de"].monthNames[date.getMonth()];
var dayName = $.datepicker.regional["de"].dayNames[date.getDay()]