【问题标题】:month and date in two digits in javascriptjavascript中两位数的月份和日期
【发布时间】:2016-05-23 15:09:21
【问题描述】:

我正在尝试使用 javascript 添加结束日期。

<head>
    <? $duration1 = $member_data['advt_duration']; //Using for var duration ?>

    <script src="http://code.jquery.com/jquery.min.js"></script>

    <script type="text/javascript">
        $(document).ready(function() {
            $(function() {
                $('#start_date').datepicker({dateFormat: 'yy-mm-dd',timeFormat: "hh:mm tt"});
            });
        });

        function getdate() {
            var tt = document.getElementById('start_date').value;

            var date = new Date(tt);
            var newdate = new Date(date);
            var duration = '<?php echo $duration1 ;?>';
            //alert(duration);

            if (duration ==="One Month") {
                newdate.setDate(newdate.getDate() + 30);
            }
            if (duration ==="Three Months") {
                newdate.setDate(newdate.getDate() + 90);
            }
            if (duration ==="Six Months") {
                newdate.setDate(newdate.getDate() + 180);
            }
            if (duration ==="One Year") {
                newdate.setDate(newdate.getDate() + 365);
            }

            var dd = newdate.getDate();
            var mm = newdate.getMonth() + 1;
            var y = newdate.getFullYear();

            var someFormattedDate = y+ '-' + mm + '-' + dd;
            document.getElementById('end_date').value = someFormattedDate;
        }
    </script>
</head>

<body>
From : <input name="start_date" type="text" id="start_date" style="border:1px solid #333;"/>

<input type="button" onclick="getdate()" value="Get End Date" style="background-color:#999; border:1px solid #333;"/>&nbsp;

To : <input name="end_date" type="text" id="end_date" style="border:1px solid #333;" readonly/>

</body>

现在我正在以 YYYY-MM-DD 格式获取 START DATE...但是 END DATE 不是以该格式...

例如如果我们设置开始日期并假设 var duration = "One Year"...

start_date = "2016-05-09" //2016 年 5 月 9 日

然后 得到

end_date = "2017-5-9" 而不是 "2017-05-09"

【问题讨论】:

  • 这里正在进行大量的轮子改造,你看过 moment.js 了吗?
  • 那么当mm 是5 而dd 是9 时,你认为y+ '-' + mm + '-' + dd 会做什么?
  • @Pointy 是的...当开始月份或开始日期为 1 到 9 时,结束日期返回一位数月份或日期...我想要两位数...
  • 所以当mm小于10时添加"0" ...
  • @Pointy 我试过了... if (mm.length

标签: javascript date


【解决方案1】:

这会起作用

  mm = ( mm < 10 ) ? ( "0" + ( mm ).toString() ) : ( mm ).toString();
  dd= ( dd< 10 ) ? ( "0" + ( dd).toString() ) : ( dd ).toString();

【讨论】:

  • 考虑mm = (mm &lt; 10? '0' : '') + mm;
猜你喜欢
  • 2013-03-08
  • 2015-02-18
  • 2021-12-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-06
相关资源
最近更新 更多