片刻js在警报中显示错误的日期

时间:2016-02-09 07:25:39

标签: javascript date momentjs

我正在使用Moment js来获取正确的日期格式。

所以我做了什么,我有一个文本框,我今天插入日期,如 09/02/2016 ,它在这里正确显示

var dt1 = moment(document.getElementById('TextBox1').value + " " + document.getElementById('DrpTime').value).zone(0).format("dd/MM/yyyy HH:mm");

但当我在警告中检查同一日期时如下

alert(dt1);

我的价值为Mon Feb 01 2016 09:00:00 GMT +0530

我尝试了here的逻辑,但对我没有帮助。任何错误的想法。

我的HTML

<asp:TextBox ID="TextBox1" runat="server" Width="80" ></asp:TextBox>
<cc3:Calendar ID="Calendar1" runat="server" DatePickerMode="true" TextBoxId="TextBox1"
     DatePickerImagePath="../../Images/icon2.gif" CultureName="en-GB">
</cc3:Calendar>
<asp:DropDownList ID="DrpTime" runat="server" Width="65px">
     <asp:ListItem Value="09:00">09:00</asp:ListItem>
     <asp:ListItem Value="13:00">13:00</asp:ListItem>
     <asp:ListItem Value="17:00">17:00</asp:ListItem>
     <asp:ListItem Value="21:00">21:00</asp:ListItem>
</asp:DropDownList>

注意:我希望日期为 dd / MM / yyyy 格式

我也从下面的链接中获取了js: -

http://momentjs.com/downloads/moment.min.js

更新

function ValidateRecord() {
        var StrPriError = "";
        var dt1 = moment(document.getElementById('TextBox1').value + " " + document.getElementById('DrpTime').value, "dd/MM/yyyy HH:mm");
        var dt2 = moment(document.getElementById('TextBox2').value + " " + document.getElementById('DrpTime3').value, "dd/MM/yyyy HH:mm");
        var dt3 = moment(document.getElementById('TextBox3').value + " " + document.getElementById('DrpTime4').value, "dd/MM/yyyy HH:mm");
        var dt4 = moment(document.getElementById('TextBox4').value + " " + document.getElementById('DrpTime5').value, "dd/MM/yyyy HH:mm");
        alert(dt1);

        if (StrPriError != "") {
            alert(StrPriError);
            return false;
        }
        else {
            return true;
        }
    }

1 个答案:

答案 0 :(得分:1)

尝试将moment解析器方法中的第二个参数设置为实际解析格式

var dt1 = moment(value1 + " " + value2, "DD/MM/YYYY HH:mm");

<强> UPD:

要检查两个日期的相等性,请使用以下代码:

 date_1 = moment(value1 + " " + value2, "DD/MM/YYYY HH:mm");
 date_2 = moment(value3 + " " + value4, "DD/MM/YYYY HH:mm");

 date_1.isSame(date_2) // return boolean value

<强> UPD2:

MomentJS有一些检查日期相等的方法。

 date_1.isAfter(date_2)              // date_1 > date_2
 date_1.isBefore(date_2)             // date_1 < date_2
 date_1.isBetween(date_2, date_3)    // date_2 < date_1 < date_3
 date_1.isSame(date_2)               // date_1 === date_2
 date_1.isSameOrAfter(date_2)        // date_1 >= date_2
 date_1.isSameOrBefore(date_2)       // date_1 <= date_2