Javascript yyyy-mm-dd转换为错误日期(mm / dd / yyyy)

时间:2017-12-14 23:26:41

标签: javascript

以下是用户输入日期的代码:(它必须是我的日期选择器,但表单必须以文本形式提交日期字段 - 不要问)

在提交时,我在javascript中调用验证逻辑。我附上了当我尝试以01/01/2001作为用户生日输入时的截图。看起来当我将值字符串转换为Date对象时,它转换为错误的日期和时间。如果它只是正确转换,我可以调整月,日和年,并构建一个字符串以发送到我的第二个对象。

附上图片......

我已经弄乱了UTC和时区,但无济于事。

我需要我的输出是一个文本字符串“01/01/2001”,只要我有正确的日期,我就可以构建它。但无论我尝试什么,似乎计算错误。

2 个答案:

答案 0 :(得分:0)

构造Date时,假设字符串表示UTC的时间,因为没有提供时区。该字符串被解析为UTC,但Date对象使用浏览器的本地时区。

解决此问题的一种方法是使用getUTCDay代替getDay。同样适用于monthyear

答案 1 :(得分:0)

使用jquery数据选择器库可以解决问题。

<script type="text/javascript">
$(document).ready(function() {
    $('#someIDname').click(function(event) {  

        if(this.checked) {

            $('#anotherIDname').each( function() {
                var maxValue = $("#anotherIDname").attr("max");
                document.getElementById("anotherIDname").value = maxValue;
            });

        }

    });

});
</script>