首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何更改flatpickr日历上的年份标签

如何更改flatpickr日历上的年份标签
EN

Stack Overflow用户
提问于 2019-12-12 02:00:24
回答 2查看 619关注 0票数 1

我想在平板日历上更改当前的标签年份。2019至2562,2562是佛年(+543年)。

flatpickr calendar picture

代码语言:javascript
运行
复制
flatpickr.localize(flatpickr.l10ns.th);

$('#my_date').flatpickr({
  dateFormat: "Y-m-d 20:00",
  altInput: true,
  onChange: (selectedDates, dateStr, instance) => {
    moment.locale('th');
    thai_DM = moment(selectedDates[0]).format('Do MMMM');
    thai_Y = parseInt(moment(selectedDates[0]).format('YYYY')) + 543;
    instance.altInput.value = thai_DM + " " + thai_Y;
    $('#dateStr_for_db').val(dateStr);
  }
});
代码语言:javascript
运行
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<!-- flatpickr -->
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/flatpickr/dist/flatpickr.min.css">
<script src="https://cdn.jsdelivr.net/npm/flatpickr"></script>
<script src="https://npmcdn.com/flatpickr/dist/l10n/th.js"></script>

<!-- moment -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment-with-locales.min.js"></script>

<input type="text" id="my_date"> flatpickr
<br>
<br>
<input type="text" id="dateStr_for_db"> my_date.value for insert to db

我写了几行代码,使泰语的替代文本变得可读,但仍然有BC。数据库的日期。就快完成了。但是我不能改变日历上的年份标签。请帮助:)

谢谢。

EN

回答 2

Stack Overflow用户

发布于 2020-06-03 20:39:25

我试图解决这个问题,但最终我只是将当前日期改为543年,然后再将其保存回来。我正在使用momentjs

代码语言:javascript
运行
复制
toBudThai(date) {
    return (date.clone()).add(543, "years");
}

fromBudThai(date) {
    return (date.clone()).subtract(543, "years");
}

getDefaultDate() {
    return this.toBudThai(moment());
}

Flatpickr选项如下所示。

代码语言:javascript
运行
复制
{
    ...
    defaultDate: getDefaultDate().format('YYYY-MM-DD'),
    onChange: (selectedDates, dateStr, instance) => {
        if (selectedDates.length) {
            console.log( fromBudThai(moment(selectedDates[0])) );        
        }
    },
    ...
}
票数 0
EN

Stack Overflow用户

发布于 2021-04-23 21:36:38

我通过获取flatpickr实例并更改年份解决了这个问题:

代码语言:javascript
运行
复制
let instant = $(".datepickernextyear").flatpickr({
                "locale": "th",
                "dateFormat": "d/m/Y"
            });
            
 //set calendar to buddhist +543
 instant.changeYear(new Date().getFullYear() + 543)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59291596

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档