问题描述
在使用 moment.js
添加了几个月之后,希望获得类似于 2017年9月12日的日期格式.我在日期字段中使用 datepicker
.
Would like to get date format like 12-September-2017 after adding months with moment.js
.I'm using datepicker
for date fields.
当前输出为 Th-10-yyyy .
也收到警告
$(document).on("change", "#inputmonthadded", function (evt) {
var input_value_inputstartdate = $('#inputstartdate').val();
var input_value_inputmonthpurchased = $('#inputmonthpurchased').val();
var input_value_inputmonthadded = $('#inputmonthadded').val();
if (typeof input_value_inputstartdate != 'undefined' && input_value_inputstartdate) {
var inputstartdate = moment(input_value_inputstartdate);
var portalexpdate = inputstartdate.add(input_value_inputmonthadded, 'months');
var formatedportalexpdate = portalexpdate.format('dd-MM-yyyy');
$('#inputportalexpirydate').val(formatedportalexpdate);
}
else {
$('#inputportalexpirydate').val('');
}
});
推荐答案
您必须使用:
var formatedportalexpdate = portalexpdate.format('DD-MMMM-YYYY');
如 format
文档中所述.
as stated in the format
docs.
时刻令牌区分大小写, dd
代表星期几,而 DD
代表星期几,请使用 MMMM
获取完整的月份名称和 YYYY
获得4位数字的年份.
Moment tokens are case sensitive, dd
stands as day of the week, while DD
stands for day of the month, use MMMM
to get full month name and YYYY
to get the 4 digit year.
使用 moment(字符串,字符串)
代替 moment(input_value_inputstartdatedate)
,以避免在解析 input_value_inputstartdate
时出现过时警告,在您的情况下,您可以执行以下操作:
Use moment(String, String)
instead of moment(input_value_inputstartdate)
to avoid Deprecation warning while parsing input_value_inputstartdate
, in your case you can do something like:
var inputstartdate = moment(input_value_inputstartdate, 'DD-MMMM-YYYY');
完整代码如下:
$(document).on("change", "#inputmonthadded", function (evt) {
var input_value_inputstartdate = $('#inputstartdate').val();
var input_value_inputmonthpurchased = $('#inputmonthpurchased').val();
var input_value_inputmonthadded = $('#inputmonthadded').val();
if (typeof input_value_inputstartdate != 'undefined' && input_value_inputstartdate) {
var inputstartdate = moment(input_value_inputstartdate, 'DD-MMMM-YYYY');
var portalexpdate = inputstartdate.add(input_value_inputmonthadded, 'months');
var formatedportalexpdate = portalexpdate.format('DD-MMMM-YYYY');
$('#inputportalexpirydate').val(formatedportalexpdate);
}
else {
$('#inputportalexpirydate').val('');
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js"></script>
<input type="number" id="inputmonthadded">
<input type="text" id="inputstartdate" value="12-September-2017" readonly>
<input type="text" id="inputportalexpirydate" readonly>
<input type="text" id="inputmonthpurchased">
这篇关于带有moment.js的dd-MM-yyyy日期格式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!