以下方法以 Wed Sep 14 2016 00:00:00 GMT+0400
格式将日期发送到文本框。
所以我尝试使用子字符串方法以这种格式获取日期 Sep 14 2016
我在下面的代码中尝试过,但没有成功
它返回此错误 Uncaught TypeError: date.substring is not a function
<script>
$(document).ready(function () {
var dateval = $('#<%= txtdate.ClientID %>').val();
if (dateval != '') {
var options = {
selectedDate: dateval,
size: 'medium',
width: 960
}
} else {
var options = {
size: 'medium',
width: 960
}
}
$('#paginator').datepaginator(options);
$('#paginator').on('selectedDateChanged', function (event, date) {
$('#<%= txtdate.ClientID %>').val(date.substring(4, 12));
});
});
</script>
最佳答案
使用Array.prototype.slice
函数。
var date = 'Wed Sep 14 2016 00:00:00 GMT+0400';
var formatted = date.split(' ').slice(1, 4).join(' ');
你得到一个错误,因为 date.constructor
是 Date
函数,而不是 String
。要将其转换为字符串,您可以使用 date.toString()
或简单地使用 date + ''
。转换为字符串后,可以调用date.substr(4, 11)
。请注意,如果您键入 12
而不是 11
,它的末尾会有一个额外的空格。
此外,substr
和substring
之间也有区别。第一个需要字符串的开始位置和长度,而第二个需要字符串的开始位置和结束位置。
关于javascript - 使用子字符串格式化 JavaScript 日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39094012/