【问题标题】:Javascript Datetime FormatJavascript 日期时间格式
【发布时间】:2015-10-04 22:09:56
【问题描述】:

我做程序员才几个月,而且我是 Javascript 的超级新手,所以如果有更简单的方法,请帮助我。我正在创建月份的下拉列表和年份的文本框。 有没有更好的方法来做我的月份选择框? 以及如何将我的日期格式化为 yyyy-mm-dd? 谢谢!

    <div class="form-group">
            <label for="month">Month:</label>
            <select id="month">
                <option value="0">January</option>
                <option value="1">February</option>
                <option value="2">March</option>
                <option value="3">April</option>
                <option value="4">May</option>
                <option value="5">June</option>
                <option value="6">July</option>
                <option value="7">August</option>
                <option value="8">September</option>
                <option value="9">October</option>
                <option value="10">November</option>
                <option value="11">December</option>
            </select>
    </div>
    <div class="form-group">
            <label for="year">Year:</label>
            <input type="text" id="year" value=""/>
    </div>


    <script>
        $(document).ready(function() {
            var budget_start_date = new Date(year, month, 1);
            var budget_end_date;
            $('#start_date').val(budget_start_date.toString('yyyy-MM-dd'))
            $('#end_date').val(budget_end_date.toString('yyyy-MM-dd'))
        };
    </script>

【问题讨论】:

  • 你可以使用jQuery UI datepicker,它有一个方法:$.datepicker.formatDate
  • 考虑使用moment.js 进行格式化。

标签: javascript jquery html date datetime


【解决方案1】:

看起来你正在尝试重新发明这个轮子,你已经在使用 jQuery,所以你不妨使用jQuery Date Picker,在加载引用后,你可以通过执行$('#yourDateField').datepicker()获得完整功能的日历

关于格式部分,你可以使用DataJS,那么格式就简单了dt.toString('dd-MM-yyyy')

【讨论】:

    【解决方案2】:

    日期格式的实现:

    /**
     * Default format:yyyy-mm-dd hh:ii:ss
     * @param string stamp Time in milliseconds
     * @param string format Your desired format
     * @param boolean zero With zero-prefix or not
     */
    function format(timestamp, format, zero){
        var stamp = Number(timestamp),
            date = new Date(stamp), formatDate,
            f = format ? format : "yyyy-mm-dd hh:ii:ss",
            _d = (zero === undefined) ? l.format.zero : function(s){return s;};
    
        var year = _d(date.getFullYear()),
            month = _d(date.getMonth() + 1),
            day = _d(date.getDate()),
            hour = _d(date.getHours()),
            minute = _d(date.getMinutes()),
            second = _d(date.getSeconds());
    
        formatDate = f.replace(/yyyy/i, year).replace(/mm/i, month).replace(/dd/i, day)
                    .replace(/hh/i, hour).replace(/ii/i, minute).replace(/ss/i, second);
        return formatDate;
    },
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-10-06
      • 2016-02-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多