选择后flatpickr格式化最终值

时间:2018-09-21 10:48:04

标签: jquery datetime flatpickr

我有以下html:

<div class="form-group">
    @Html.LabelFor(x => x.StartDate)
    @Html.TextBoxFor(m => m.StartDate, "{0:dd-MM-yyyy}", new { type = "text", @class = "flatpickrStart form-control", @id = "absenceStartDate", @Required = true })
    @Html.ValidationMessageFor(x => x.StartDate, null, new { @class = "text-danger" })
</div>
<div class="form-group">
    @Html.LabelFor(x => x.EndDate)
    @Html.TextBoxFor(m => m.EndDate, "{0:dd-MM-yyyy}", new { type = "text", @class = "flatpickrEnd form-control", @id = "absenceEndDate", @Required = true })
    @Html.ValidationMessageFor(x => x.EndDate, null, new { @class = "text-danger" })
</div>

和脚本:

function InitializeDateTimePickers() {
    $(".flatpickrStart, .flatpickrEnd").flatpickr({
        dateFormat: "dd-MM-yyyy H:i:s",
        enableTime: true,
        weekNumbers: true,
        altInput: true,
        altFormat: "F j, Y - h:i",
        time_24hr: true
    });
}

例如我的codepen: https://codepen.io/andrelange91/pen/YOgwaJ

选择工作正常,但是当我选择一个值时, 在某些地方,我获得的价值似乎翻了一番。

例如,我使用选择器选择此项:2018年9月21日-8:00 返回的值是这样的:2121-SepSep-18181818 08:00:0

我有办法为它获取正确的日期时间格式吗? 第一次使用此插件,到目前为止,我一直找不到解决方案。

1 个答案:

答案 0 :(得分:2)

无需编写两次代码。只需写一次

$(".flatpickrStart, .flatpickrEnd").flatpickr({ 
   dateFormat: "d-M-y H:i:s", //change format also 
   enableTime: true, 
   weekNumbers: true, 
   altInput: true, 
   altFormat: "F j, Y - h:i", 
   time_24hr: true 
});

您的问题将得到解决。

有效代码段:-https://codepen.io/anon/pen/VGRWZv

注意: :我也更改了链接中的文本输出代码,也请检查一下。