我使用Flatpickr的以下实例化代码。
$("#entry_date_time").flatpickr({
enableTime: true,
altInput: true,
defaultDate: moment().format("YYYY-MM-DD HH:MM:SS"),
dateFormat: "YYYY-MM-DD HH:MM:SS",
minuteIncrement: 1
});
我遇到的问题是moment().format("YYYY-MM-DD HH:MM:SS");
为我提供了正确的数据,但$("#entry_date_time").val()
的输出等于
2017201720172017-JanJan-SatSat 0000:JanJan:0000
而不是我提供的预期格式。
任何有关可能导致此问题的想法都会很棒,感谢您的帮助!
答案 0 :(得分:1)
根据输出,并查看date和time的flatpickr文档,似乎只有单个字符可以采用格式而不是多个?例如,4个Y将解释重复4次,每月两次等等。
您需要的dateFormat应该是:
dateFormat: "Y-M-D H:i"
...但是,我不通过flatpickr查看时间秒部分的格式化选项?
秒数更新:
答案 1 :(得分:0)
Flatpickr有其自己的formating tokens,与moment支持的版本不同。但是,好处是您可以使用GET my_target_index/_search
{
"query": {
"bool": {
"must_not": [
{"regexp": {
"my_target_field": ".+"
}}
]
}
}
}
和parseDate
配置选项来支持自定义格式标记。
formatDate
具有moment.js兼容令牌的示例 https://jsfiddle.net/armujahid/pwqhznj0/
/* A custom datestring parser */
parseDate: (date: string, format: string) => Date;
/* Allows using a custom date formatting function instead of the built-in. Generally unnecessary. */
formatDate: (date: Date, format: string, locale: Locale) => string;
参考:我在https://github.com/flatpickr/flatpickr/issues/1549#issuecomment-537939826上的评论