Javascript jquery从整数值生成日期

Javascript jquery从整数值生成日期,javascript,jquery,Javascript,Jquery,我在制作一个程序,可以转换成一个整数日期使用javascript/jquery的需要。我的想法是将数字除以10,然后根据我想在另一个输入字段中显示日期的数字进行拆分 用户提供的输入应如下所示: 910111 输出应该是 1991年1月11日 我的代码是: <input type="text" id="id1"/> <input type="text" id="id2" /> $("#id1").change('input', function(){ va

我在制作一个程序,可以转换成一个整数日期使用javascript/jquery的需要。我的想法是将数字除以10,然后根据我想在另一个输入字段中显示日期的数字进行拆分

用户提供的输入应如下所示:

910111

输出应该是

1991年1月11日

我的代码是:

    <input type="text" id="id1"/>
    <input type="text" id="id2" />

$("#id1").change('input', function(){
var input = $(this).val();
var remainder = [10]; 
var quotient = 0;
var divisor = 10;
var dividend = input;
var j=0;

var array1 = [10]; 

while(dividend >= 10)
{
    remainder[j] = dividend % divisor;
    quotient = dividend / divisor;
    dividend = quotient;
    j++;
}
});

$(“#id1”).change('input',function(){
var输入=$(this.val();
var余数=[10];
var商=0;
var除数=10;
var股息=投入;
var j=0;
var array1=[10];
而(股息>=10)
{
余数[j]=股息%除数;
商=被除数/除数;
股息=商;
j++;
}
});
讨论后更新的代码如下所示,当我传递变量“input”而不是硬编码的值时,该代码不起作用

    <html>
<head>
    <title>
            Inzamam Tahir
    </title>

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js" type="text/javascript"></script>

<script src="moment.js" type="text/javascript"></script>

<script>
    $(document).ready(function(){
        var input = $("#id1").val();
            $("#id1").change(function () {
                var date = moment(input).format('DD/MM/YY');
                $("#id2").val(date);
            });
        });
</script>

</head>

<body>

<input type= "text" id = "id1"/>
<input type = "text" id = "id2"/>   
<input type = "submit" id = "id3"/> 


</body>
</html>

因扎姆塔希尔
$(文档).ready(函数(){
var输入=$(“#id1”).val();
$(“#id1”)。更改(函数(){
变量日期=时刻(输入)。格式('DD/MM/YY');
$(“#id2”).val(日期);
});
});

最好假设4位数的年份,否则当你跨越2000年边界时会遇到问题,但你可以用模和除法简单地做到这一点。比大多数其他解决方案(循环或正则表达式等)快得多:

注意事项:

  • ~~
    是一种快捷的整数转换

您可以创建一个阵列,持续数月。然后你就可以这样做了

var months = ["jan", "feb", "mar", "apr", "may", "jun", "jul", "aug", "sep", "oct", "nov", "dec"];
var input = "910111";
var output = input.replace(/(\d\d)(\d\d)(\d\d)/, function(m, g1, g2, g3){
   return g3 + "/" + (months[g2-1]) + "/19" + g1;
});

连接Moment.js并使用以下代码段:

moment("910111", "YYMMDD").format('DD/MMMM/YYYY'))

解析日期:


打印(解析)日期:

您好,谢谢您的回复。你的回答非常精确,非常简短,这确实有帮助,但现在我正在尝试将变量传递到代码中,而不是传递硬编码的日期,但它不起作用。我现在要更新上面的代码,让你知道这一点。
时刻(你的字符串变量,格式变量)
-在这里,您可以使用定义的格式解析
您的\u字符串\u变量。查看momente.js示例以获取更多示例。对我这个问题的更新:当我放置var input=$(“#id1”).val()时,它起到了作用;低于$(“#id1”)。更改(函数(){
moment("910111", "YYMMDD").format('DD/MMMM/YYYY'))